向WordPress主页POST循环添加多个自定义POST类型

时间:2018-02-16 作者:Ms Vibrant

我对编码知之甚少,我在网上找到了代码,可以帮助我在wordpress主页上添加自定义帖子类型,但当我再次尝试使用相同的代码添加另一个自定义帖子类型时,帖子将不会显示。如果我只添加第一个post类型,那么代码将显示第一个函数。只要我在第一个帖子类型之后添加另一个帖子类型,我的任何自定义帖子类型都不会显示。我想我需要在他们之间添加一些东西?我试过了}但没用。如果您有任何帮助,我们将不胜感激。:)

第一个函数

function first_function( $query ) {
 if ( is_home() && $query->is_main_query() )
 $query->set( \'post_type\', array( \'post\', \'first_function\') );
 return $query;
 }
 add_filter( \'pre_get_posts\', \'first_function\' );
第二个功能

function second_function( $query ) {
 if ( is_home() && $query->is_main_query() )
 $query->set( \'post_type\', array( \'post\', \'second_function\') );
 return $query;
 }
 add_filter( \'pre_get_posts\', \'second_function\' );

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

第二个函数覆盖第一个函数的查询。无论如何,这是不必要的,因为您可以根据需要在第一个函数中的$query->set行中添加尽可能多的帖子类型,如下所示:

$query->set( \'post_type\', array( \'post\', \'first_function\', \'my-second-post-type\',\'another-post-type\' ) );

顺便问一下,您的帖子类型是否实际被称为“first\\u function”?只是问一下,因为这也是函数的名称。

希望有帮助

结束

相关推荐

从gensis_loop中删除gensis_404挂接

我正在使用genesis主题,我想定制一个404页面。为此,我希望删除默认的404钩子并实现我自己的钩子。在我的插件函数中。php我添加了我的操作:add_action( \'genesis_loop\', \'genesis_customizations_404\' ); 在函数中,我添加了删除:function genesis_customizations_404() { echo \'test\'; remove_action(\'genesis_loop\',