自定义WP_QUERY不会显示所有帖子

时间:2015-08-01 作者:Abel Thomas

我正在构建一个选项页面,允许用户选择三篇帖子和三幅显示在网站首页上的自定义图像。我正在使用设置API创建一个自定义WP\\U查询,该查询从4个不同的CPT(“资源”、“事件”、“博客帖子”和“出版物”)中提取所有帖子,并将这些帖子的标题和ID(隐藏)填充到下拉列表中,以便用户可以相应地选择三个。

除了一个问题外,一切都很顺利:“出版物”帖子类型似乎没有显示在下拉列表中。以下是我的自定义查询设置的片段,与“admin\\u init”挂钩相关联:

add_action(\'admin_init\', \'at_register_homepage_featured_settings\');
function at_register_homepage_featured_settings() {

    /*
    * ...
    * register DB option and section which holds it
    * ... 
    */

    /* find all relevant posts to use for dropdown options */
    $args = array(
        \'post_type\' => array(\'at_publications\', \'event\', \'post\', \'at_resources\'),
        \'posts_per_page\' => -1,
        \'orderby\' => \'post_type title\',
        \'order\' => \'ASC\',
        \'post_status\' => \'publish\'
        );
    $post_query = new WP_Query( $args );

    /*
    * ...
    * populate dropdown with $post_query results above
    * ... 
    */
}
帖子类型的名称是“at\\U publications”,正如我提到的,所有其他CPT都在下拉列表中正确显示。事实上,这段代码在我的本地安装上效果很好,但在生产站点上效果不佳。

我研究了下拉列表的最大限制是什么,大多数现代浏览器似乎支持数千个项目,所以我认为这不是问题所在(“出版物”帖子类型目前有65篇帖子)。在这里寻找任何指导或建议。提前感谢!

1 个回复
SO网友:Abel Thomas

多亏了@PieterGoosen的评论,我发现这个问题是由于WPML (multilingual) plugin. 在插件设置的“翻译管理”->“多语言内容设置”选项卡下,有一个“自定义帖子”部分。在本节中,我的“出版物”帖子类型未设置为翻译,这以某种方式阻止了其帖子在我的自定义查询中显示。更改此设置后,一切正常!

希望这是有意义的,并将在未来帮助其他人。干杯

结束

相关推荐

如何在WordPress中覆盖/定制wp-admin/nav-menus.php

我想知道是否有办法定制wp管理/导航菜单。php,以便我可以添加自己的额外字段或选项卡。例如,我想为用户创建的每个菜单创建一个新选项卡(菜单设置)。我觉得如果在创建的每个菜单上都附加了特定的设置,会更加方便用户。这可能吗?目前,我正在按主题选项进行此操作,但它有局限性:(