个性化阅读
专注于IT技术分析

如何仅为我的cpt”投资组合”创建单独的”存档小部件”?

我正在为我的投资组合创建一个自定义的wordpress主题, 尝试通过使用字段和元框从头开始做所有事情, 并且不想使用任何插件。

我创建了一个cpt, 如下所示:

function codex_custom_init() {

     register_post_type(
        'Portfolio', array(
        'labels' => array('name' => __( 'Portfolio' ), 'singular_name' => __( 'Portfolio' ) ), 'public' => true, 'has_archive' => true, 'supports' => array('title', 'editor', 'thumbnail', 'comments'), 'menu_icon' => 'dashicons-sos', )
    );

    //register taxonomy for portfolio post tags
    register_taxonomy( 
        'portfolio-tag', //taxonomy 
        'portfolio', //post-type
        array( 
            'hierarchical'  => false, 'label'         => __( 'Portfolio Tags', 'taxonomy general name'), 'singular_name' => __( 'Tag', 'taxonomy general name' ), 'rewrite'       => true, 'query_var'     => true 
        )
    );

    // add categories for Portfolio

    register_taxonomy(
            'portfoliocategories', 'portfolio', array(
                'labels' => array(
                    'name' => 'Portfolio Categories', 'add_new_item' => 'Add New Portfolio Category', 'new_item_name' => "New Portfolio Type"
                ), 'show_ui' => true, 'show_tagcloud' => false, 'hierarchical' => true
            )
        );

    }
    add_action( 'init', 'codex_custom_init' );

我已经创建了所有必需的页面和侧栏。我想在我的”档案库页面”上显示档案库小部件, 这是一个单独的档案库小部件, 其中的帖子仅与档案库相关。感谢你的关心。

如何为cpt编辑和自定义它:

<?php
    wp_get_archives(
    apply_filters(
    'widget_archives_args', array(
        'type'   => 'monthly', 'show_post_count' => $count, ), $instance
        )
        );
    ?>

#1


使用此代码为自定义CPT创建侧边栏小部件。用于注册新的侧边栏。

// Register new sidebar with ID ==> deals-sidebar
genesis_register_sidebar( array(
    'id' => 'deals-sidebar', 'name' => 'SideBar for Deals', 'description' => 'SideBar for Deals Custom Post Type', ) );

删除默认的WordPress补充工具栏, 并添加操作钩以将新的补充工具栏添加到CPT交易中。

add_action('get_header', 'crunchify_update_deals_sidebar');
function crunchify_update_deals_sidebar() {
    if ( is_singular('deals')) { // Here "deals" is a slug name for my CPT
        remove_action( 'genesis_sidebar', 'genesis_do_sidebar' ); //remove the default genesis sidebar
        add_action( 'genesis_sidebar', 'crunchify_add_sidebar' ); //add an action hook to call the function for my custom sidebar
    }
}

//Function to output my custom sidebar
function crunchify_add_sidebar() {
    dynamic_sidebar( 'deals-sidebar' ); // id of sidebar which you just registered 
}

希望能帮助到你!!!


#2


在显示小部件的位置, 将代码置于这种情况下。

if ( is_singular( 'yourcpt' ) ) {
    // conditional content/code

}
赞(0)
未经允许不得转载:srcmini » 如何仅为我的cpt”投资组合”创建单独的”存档小部件”?

评论 抢沙发

评论前必须登录!