我创建了带有类别和子类别的自定义帖子类型, 我需要做的是列出页面模板中给定子类别或类别的帖子标题和图像。
我已经获得了自定义帖子类型中列出的所有项目, 但是我不确定如何走得更远…
任何帮助表示赞赏。
<
?php
$args = array( 'post_type' =>
'portfolio', 'posts_per_page' =>
10 );
$loop = new WP_Query( $args );
while ( $loop->
have_posts() ) : $loop->
the_post();
the_title();
echo '<
div class="entry-content">
';
the_content();
echo '<
/div>
';
endwhile;
?>
#1我认为以下代码可能无法正常工作, 因为它使用了已弃用的参数(我认为caller_get_posts在3.1中已弃用)
【在页面模板中按类别获取自定义帖子类型】认为以下应该解决问题:
$loop = new WP_Query( array(
'post_type' =>
'portfolio', 'cat' =>
5, // Whatever the category ID is for your aerial category
'posts_per_page' =>
10, 'orderby' =>
'date', // Purely optional - just for some ordering
'order' =>
'DESC' // Ditto
) );
while ( $loop->
have_posts() ) : $loop->
the_post();
?>
还有几件事情要考虑(很抱歉, 如果这跨越到” 显而易见的” 领域!):
1)你的自定义帖子类型是否注册为使用内置类别, 或者它正在使用的自定义分类法?如果前者可以使用上面的方法, 而后者则可以, 那么你需要使用’ your-taxonomy-name’ => ’ your-taxonomy-term’ 代替cat => 5参数
http://codex.wordpress.org/Class_Reference/WP_Query#Parameters
2)你是否在页面上运行其他循环?如果是这样, 他们将需要
<
?php wp_reset_query();
?>
在它们之后以便后续循环正常工作
http://codex.wordpress.org/Function_Reference/wp_reset_query
#2这应该工作:
$cat_id = get_cat_ID('My Category');
//the categories name
$args=array(
'cat' =>
$cat_id, 'post_type' =>
'portfolio', 'post_status' =>
'publish', 'posts_per_page' =>
-1, 'caller_get_posts'=>
1
);
$new = new WP_Query($args);
推荐阅读
- 如何实现vSphere Replication 负载均衡
- 用php文件生成css文件
- 通过CSS/jQuery生成WordPress粘性页脚
- 表单操作-自定义网址
- 找不到函数”parent_theme_locations”或函数名称无效
- 过滤” the_content”,但带有高级自定义字段
- 过滤”当前菜单项”类以使用”活动”
- 致命错误(在WordPress中调用index.php中未定义的函数add_filter())
- 致命错误(在非对象上调用成员函数check_capabilities())