【WordPress如何在模板中包括自定义帖子类型的内容()】我正在使用自定义帖子类型, 并且已将其显示在Wordpress管理区域中。这是我的功能代码的一部分:
//CUSTOM POST TYPE
add_action( 'init', 'create_post_type' );
function create_post_type() {
register_post_type( 'slick_slider', array(
'labels' =>
array(
'name' =>
__( 'Main Slider' ), 'singular_name' =>
__( 'Slider' )
), 'public' =>
true, 'has_archive' =>
true, )
);
}
我的问题是我需要将这些自定义帖子类型插入模板中。我尝试使用此代码来做到这一点:
<
?php if (have_posts()) : while (have_posts()) : the_post();
?>
<
?php $slick_slider_values = get_post_meta( get_the_ID(), 'slick_slider' );
?>
<
?php endwhile;
endif;
?>
但这行不通。知道我需要什么代码才能使CPT正确显示在模板页面中吗?
#1你正在使用自定义帖子类型, 因此你需要执行自定义帖子类型循环:
<
?php query_posts('post_type=slick_slider&
posts_per_page=5');
if ( have_posts() ) while ( have_posts() ) : the_post();
?>
// normal post stuff here ie <
?php the_content();
?>
<
?php endwhile;
wp_reset_query();
?>
这超出了循环!希望有帮助!
#2这将为你工作:
$args = array(
'post_type'=>
'slick_slider', 'post_status' =>
'publish', );
$slick_slider = new WP_Query( $args );
if( $slick_slider->
have_posts() ) :while( $slick_slider->
have_posts() ) : $slick_slider->
the_post();
$slick_slider_values = get_post_meta( get_the_ID(), 'slick_slider' );
endwhile;
endif;
#3如果要显示任何帖子类型或单个帖子文件之外或页面模板之外的帖子, 则需要使用WP_Query。因此, 请使用以下代码。
$slider = new WP_Query(array(
'post_type'=>
'slick_slider', ));
if( $slider->
have_posts() ){
while( $slider->
have_posts() ) {
$slider->
the_post();
$slider_meta = get_post_meta( get_the_ID(), 'slick_slider' );
}
wp_reset_postdata();
}
希望对你有帮助。
推荐阅读
- WordPress(如何在小部件中插入主题变量())
- WordPress-如何获取下一个新帖子ID
- WordPress(如何获取某个类别的所有帖子中使用的所有标签())
- WordPress,如何更改帖子标题以显示帖子类别()
- WordPress的如何添加主题安装[关闭]
- #yyds干货盘点# 数据结构与算法之时间复杂度与空间复杂度
- CentOS 7.9 安装 Oracle 11gR2
- 渐变弹出层
- TexturePacker 命令行用例