WordPress获取帖子类型,仅自定义帖子类型

时间:2019-07-02 09:33:27

标签: php wordpress function advanced-custom-fields custom-post-type

使用自定义帖子类型UI插件,我想将任何自定义帖子类型推送到帖子页面使用的ACF字段(以便用户可以选择要显示的帖子类型)。现在,我将其与下面的代码一起使用,但是它附带了许多其他的“垃圾”。知道如何摆脱这种情况,只添加原始的“帖子”和任何“自定义帖子类型”吗?

functions.php

.context-menu .separator:horizontal .line {
    -fx-border-color: -fx-box-border transparent transparent transparent;
    -fx-border-insets: 1 0 0 0;
}

结果: enter image description here

我想要什么: enter image description here

我的自定义页面: enter image description here

1 个答案:

答案 0 :(得分:0)

这似乎比需要的要复杂一些,如果要使用这3种帖子类型或者只是更改它们,为什么不直接将它们手动添加到字段中?

<罢工>
$post_types = get_post_types();

$post_types = [
    'post' => 'post',
    'page' => 'page',
    'people' => 'people'
];

所有get_post_types()函数都在执行该操作以获取帖子类型的名称吗?

确定可行的解决方案,具体取决于您希望它的动态程度。

如果您从get_post_types()函数返回对象

$all_post_types = get_post_types($args, 'objects');

并为您的帖子类型提供描述,以区分它们,例如include_in_select,然后您就可以遍历与该描述相匹配的内容,并将其推入数组,然后在原始函数中使用该数组。

$post_types_no_junk = [];
foreach($all_post_types as $post_type){
    if($post_type->description === 'include_in_select'){
        $post_types_no_junk[] = $post_type;
    }
}

不太理想,但足以满足您的需求。