【问题标题】:How to query all custom post type + post and page in WordPress如何在WordPress中查询所有自定义帖子类型+帖子和页面
【发布时间】:2026-01-25 00:25:01
【问题描述】:

我有一个查询问题。我想在 wordpress 中查询所有自定义帖子类型 + 帖子页面。但这不起作用。我做错了什么我不知道。请任何人帮助我。

查看以下代码:

public function my_post_get_all_types_post() {
    $posts_args = array(
        'post_type' => 'any',
        'post_style' => 'all_types',
        'post_status' => 'publish',
        'posts_per_page' => -1,
    );
    $posts = $posts_args;
    $post_list = [];
    foreach ($posts as $post) {
        $post_list[$post->ID] = $post->post_title;
    }
    return $post_list;
}

输出代码:

$this->add_control( 'blog_any_post',
        [
            'label' => __('Source', 'useful-addons-elementor'),
            'label_block' => false,
            'type' => Controls_Manager::SELECT,
            'multiple' => true,
            'default' => [],
            'options' => $this->UA_post_get_all_types_post(),
        ]
    );

【问题讨论】:

    标签: php wordpress custom-post-type


    【解决方案1】:

    只需将上面的函数替换为以下 -

    public function my_post_get_all_types_post() {
        $posts_args = array(
            'post_type' => 'any',
            'post_style' => 'all_types',
            'post_status' => 'publish',
            'numberposts' => -1,
        );
        $posts = get_posts($posts_args);
        $post_list = [];
        foreach ($posts as $post) {
            $post_list[$post->ID] = $post->post_title;
        }
        return $post_list;
    }
    

    【讨论】:

    • 感谢您的回答,但帖子类型未显示。只是显示所有帖子的标题... :(
    • 您能说出您想在下拉值中显示的内容吗?
    • 这是工作我已经改变了这一行** $post_list[$post->post_type] = $post->post_type; **感谢您的回答..:)