如何在添加新帖子中获取选择帖子格式的选项

时间:2016-11-01 作者:Suresh Alagar

我已经使用CPT UI插件创建了一个新的帖子类型库,现在我想在添加新库帖子中添加选项来选择帖子格式和特色图片。请检查附带的屏幕截图。您能告诉我如何在添加新帖子页面中获得此选项吗。

enter image description here

4 个回复
最合适的回答,由SO网友:CodeMascot 整理而成

首先需要使用主题add_theme_support()functions.php 要告知的文件WordPress 通过传递如下格式数组来支持哪些post格式:

add_theme_support( \'post-formats\', array( \'aside\', \'gallery\' ) );

Note that you must call this before the init hook gets called! A good hook to use is the after_setup_theme hook.

然后通过代码,您可以添加如下所示的帖子格式-

//add post-formats to post_type \'your_custom_post_type\'
add_post_type_support( \'your_custom_post_type\', \'post-formats\' );
还可以添加对创建帖子类型的支持,如下所示-

// register custom post type \'your_custom_post_type\' with \'supports\' parameter
add_action( \'init\', \'create_your_post_type\' );
function create_my_post_type() {
    register_post_type( \'your_custom_post_type\',
      array(
        \'labels\' => array( \'name\' => __( \'Products\' ) ),
        \'public\' => true,
        \'supports\' => array(\'title\', \'editor\', \'post-formats\')
    )
  );
} 

SO网友:Syed Fakhar Abbas

当您使用CPT UI插件添加新的自定义帖子类型时,您将在下面看到一个选项Settings -> Support -> Post Formats 在CPT UI插件中。

enter image description here

SO网友:Suresh Alagar

我在Functions中添加了以下代码。我的主题中的php:

<?php

add_theme_support( \'post-formats\', array( \'gallery\', \'image\', \'video\' ) );

//add post-formats to post_type \'your_custom_post_type\'
add_post_type_support( \'your_custom_post_type\', \'post-formats\' );

// register custom post type \'your_custom_post_type\' with \'supports\' parameter
add_action( \'init\', \'create_your_post_type\' );
function create_my_post_type() {
    register_post_type( \'your_custom_post_type\',
      array(
        \'labels\' => array( \'name\' => __( \'Products\' ) ),
        \'public\' => true,
        \'supports\' => array(\'title\', \'editor\', \'post-formats\')
    )
  );
}

SO网友:samjco

向您的CPT添加post格式支持后:

function jt_add_post_type_support() {

   //add post-formats to post_type \'your_custom_post_type\'
   add_post_type_support( \'your_custom_post_type\', \'post-formats\' );
}
add_action( \'init\', \'jt_add_post_type_support\', 10 );
您可以在以下情况下对其进行修改:(*不要忘记在两个函数中将“your\\u custom\\u post\\u type”更改为您的CPT)

add_action( \'load-post.php\',     \'jt_post_format_support_filter\' );
add_action( \'load-post-new.php\', \'jt_post_format_support_filter\' );
add_action( \'load-edit.php\',     \'jt_post_format_support_filter\' );

function jt_get_allowed_project_formats() {
    //CHANGE TO THE ONES YOU WANT HERE:
    return array( \'standard\', \'quote\', \'image\', \'video\' );
}

function jt_default_post_format_filter( $format ) {

    return in_array( $format, jt_get_allowed_project_formats() ) ? $format : \'standard\';
}

function jt_post_format_support_filter() {

    $screen = get_current_screen();

    // Bail if not on the projects screen.
    if ( empty( $screen->post_type ) ||  $screen->post_type !== \'your_custom_post_type\' )
        return;

    // Check if the current theme supports formats.
    if ( current_theme_supports( \'post-formats\' ) ) {

        $formats = get_theme_support( \'post-formats\' );

        // If we have formats, add theme support for only the allowed formats.
        if ( isset( $formats[0] ) ) {
            $new_formats = array_intersect( $formats[0], jt_get_allowed_project_formats() );

            // Remove post formats support.
            remove_theme_support( \'post-formats\' );

            // If the theme supports the allowed formats, add support for them.
            if ( $new_formats )
                add_theme_support( \'post-formats\', $new_formats );
        }
    }

    // Filter the default post format.
    add_filter( \'option_default_post_format\', \'jt_default_post_format_filter\', 95 );
}

相关推荐

如何修改WP_INCLUDE/BLOCKS/LATEST_posts.php

我是WordPress开发的初学者,希望得到一些帮助。我在一个简单的WordPress网站上工作。基本上,用户希望在主页上显示最新的帖子。我使用了最新帖子块,并将其设置为显示整个帖子内容,现在用户不希望帖子标题链接到单个帖子页面(因为帖子的内容显示在主页上)。如何安全地修改模板文件,使其像h2标记一样使用,而不是在主题中使用的href标记。我知道您可以创建子主题并修改wp_content 文件,但我不确定如何处理中的文件wp_include. 我读到一些关于修改functions.php 但我不确定,如果