如何使用GET_OPTION函数显示特定类别的帖子?

时间:2013-06-09 作者:Knott

我尝试仅在作者页面中显示特定类别的帖子,使用下面代码中的get\\u选项功能,但不起作用:

<?php query_posts(\'cat=\'.get_option(\'admin_cat\')); ?>
但是,如果使用id号,则效果很好。

<?php query_posts( \'cat=6\' ); ?> 
如何使用get\\u option函数代替ID号?

以后编辑:

很抱歉,我在admin选项中写的是类别名称而不是id,这是我的错误。不过,阅读这两种变体的代码会很有帮助,例如:

if admin option the category is an id
display its id
if in admin option category is a name
display its name
谢谢

1 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

不能使用类别名称搜索类别。你可以使用slug。请注意差异。slug规范化为小写,空格替换为破折号。“Foo A”的首字母应该是“Foo-A”。使用“Foo A”将不起作用。

$admin_cat = get_option(\'admin_cat\');

if (ctype_digit("$admin_cat")) { // this is an ID
  $qry = array(\'cat\' => (int)$admin_cat);
} else {
  $qry = array(\'category_name\' => $admin_cat);
}
$my_query = new WP_Query($qry);
如对您的问题的评论所述,请勿使用query_posts.

应该注意的是,使用此replace the main query 在页面上可以increase page loading times, 在最坏的情况下more than doubling the amount of work needed or more. 虽然易于使用,但该功能prone to confusion and problems 过后有关详细信息,请参阅下面关于注意事项的注释。

http://codex.wordpress.org/Function_Reference/query_posts (重点矿山)

结束

相关推荐

使用Scribu的帖子连接wp_User_Query中的每个_到帖子插件-替代方法?

一段时间以来,我一直在使用Scribu的Posts-to-Posts插件,这对我很有帮助。我已经阅读了完整的wiki和问题列表,但如果有一种干净的方法在获取信息时循环访问许多用户,我就找不到任何明确的答案each_connected.根据this wiki entry, 在循环内获取连接的更快方法是使用each_connected, 避免在循环的每次迭代中都有第二个查询。有道理,而且非常适合posts 不同类型的。但尽管wp_query 和wp_user_query, 这种事情不起作用(但如果我们在wp_