给 WordPress 自定义文章类型(Post Type)添加文章置顶功能选项
WordPress 默认的文章管理功能,已经内置了指定功能,不过设置起来不是很方便,在添加了自定义文章类型后也无法使用置顶功能,今天分享一下如何给 WordPress 自定义文章类型添加文章置顶功能。
添加置顶功能
将以下代码添加到主题根目录下的 functions.php 文件 <?php 标签之后:
/**
* 给wordpress自定义文章类型添加文章置顶功能选项
*/
add_action( 'add_meta_boxes', 'add_product_box' );
function add_product_box(){
add_meta_box( 'product_sticky', '文章置顶', 'product_sticky', 'post', 'side', 'high' );
}
function product_sticky (){
?>
<ul>
<li style="margin-top:6px;">
<input id="super-sticky" name="sticky" type="checkbox" value="sticky" <?php checked( is_sticky() ); ?>/> <label for="super-sticky" class="selectit" style="vertical-align: top">置顶</label>
</li>
</ul>
<?php }
修改第三行 add_meta_box() 里的 post 为自己的自定义文章类型即可,其余参数可以根据需要修改。
效果如下:
调用置顶文章
修改第四行的 post_type
的 post
为你的文章类型即可调用置顶文章
<?php
$sticky = get_option('sticky_posts');
$args = array(
'post_type' => 'post', //文章类型
'cat' => 1, //分类 id
'post__in' => $sticky, //调用置顶文章
'showposts' => 10,//显示几篇文章
);
$custom_query = new WP_Query( $args ); ?>
<?php if ( $custom_query->have_posts() ) : ?>
<?php while ( $custom_query->have_posts() ) : $custom_query->the_post(); ?>
<article id="post-<?php the_ID(); ?>" <?php post_class('col-md-6'); ?> >
<div class="text-box">
<h3 class="title">
<a href="<?php the_permalink();?>">
<?php the_title();?>
</a>
</h3>
<div class="text">
<div class="meta">
<span>
标签:<?php the_tags( false, ', ', '' ); ?>
</span>
<span>
分类:<?php the_category( '/', '', false ); ?>
</span>
<span>
时间:<?php the_time( 'Y-m-d' ); ?>
</span>
</div>
<p>
<?php echo mb_strimwidth(strip_tags(apply_filters('the_content', $post->post_content)), 0, 40,"..."); ?>
</p>
</div>
</div>
</article>
<?php endwhile; ?>
<?php wp_reset_postdata(); ?>
<?php else: ?>
<article>抱歉,未发现文章</article>
<?php endif; ?>
准确成功率:95.6%
声明:本站所有文章,均为转载,服务器不存留任何文件接口数据存储与服务。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。