在Category y.php上获取帖子内容介绍文本?

时间:2012-08-28 作者:v3nt

对于我网站上的某些类别,有需要格式化的介绍文本(因此使用类别描述不是一个选项),并将其放置在categories.php.

我在类别描述字段中添加了一个post ID,这样我就可以使用get_post() 要加载相关帖子的内容,请列出下面类别中的所有帖子。

然而,它不起作用,打破了循环。

我得到的错误是

致命错误:在/wp-content/themes/pap\\u 01/loop中只能通过引用传递变量。php第39行

第39行是

$secintro = get_post(439);
print_r($secintro);
我尝试过重置post数据并在此之后回放循环,但没有任何帮助。和print_r($secintro); 也没有显示任何内容。

2 个回复
SO网友:chrisguitarguy

您正在使用旧版本的WordPress。升级到3.5,您将不再看到该错误。

下面是的函数声明get_post 在WP 3.4中:

function &get_post(&$post, $output = OBJECT, $filter = \'raw\')
注意前面的符号和$post? 这意味着该值是通过引用传递的。您可以给函数一个文本,它必须是变量。

正确的解决方案是更新到WP 3.5(撰写本文时,我们使用的是3.5.1)。发布到WP 3.5+:

function get_post( $post = null, $output = OBJECT, $filter = \'raw\' )
不太好的方法是在调用函数的同时执行赋值+调用时进行欺骗:

$a_post = get_post($a_post_id = 439);
$a_post_id = 439 在函数中,参数创建$a_post_id 变量并将其传递到函数中。

SO网友:v3nt

最后使用了这个,但仍然不确定为什么get\\u post不起作用

        $secintro_args =array(
            \'post__in\'=>array(439),
            \'posts_per_page\'=>1,
            \'orderby\'=>\'title\',
            \'order\'=>\'asc\');

        $secintro = get_posts($secintro_args);

结束

相关推荐

带有show_count的WP_LIST_CATEGORIES,特定类别除外

我想显示显示的所有子类别的帖子数量,但不显示其父类别的帖子数量。或者,由于只有3个父类别,此排除可以是每个类别id。有没有办法做到这一点?此外,不幸的是,数字没有包装在任何元素中,所以我想不出任何方法来隐藏它。