列出wordpress主题定制器中的帖子

时间:2016-02-14 20:16:24

标签: php wordpress wordpress-theming

嘿那里。我正在创建一个Wordpress主题,并想知道是否有人知道如何在主题定制器中列出我的一个自定义帖子类型。我有一个名为"幻灯片"的自定义帖子类型它有自定义元框等,专为幻灯片设计。我希望能够在 自定义工具 中的下拉列表中列出这些帖子。理想情况下,像这样在数组中结束它们......     ' the_id' => '幻灯片显示帖子标题',

Ref

非常感谢男女老少。路易斯

1 个答案:

答案 0 :(得分:1)

使用array_reduce

$wp_customize->add_control(
              'slideshow-homepage',
              array(
                'type' => 'select',
                'priority' => 3,
                'label' => 'Slideshow',
                'description' => '',
                'section' => 'homepage',
                'choices' => array_reduce( 
                    get_posts( 'post_type=slideshow&posts_per_page=-1' ), 
                    function( $result, $item ) { 
                        $result[$item->ID] = $item->post_title;
                        return $result;
                    }
                ),
              )
            );

还要添加空字段:

$posts = array_reduce( 
        get_posts( 'post_type=slideshow&posts_per_page=-1' ), 
        function( $result, $item ) { 
            $result[$item->ID] = $item->post_title;
            return $result;
        }
    );
    $none = array('' => 'None');
    $choices = $none + $posts;

    $wp_customize->add_control('slideshow_control', array(
        'label'      => __('Choose Slideshow', 'themename'),
        'section'    => 'slideshow_option',
        'settings'   => 'slideshow_settings',
        'type' => 'select',
        'choices' => $choices
    ));