سؤال

أنا أستخدم إطار عمل الكرز على موقع WP.يأتي مزودًا بنوع منشور مخصص يمكن استخدامه لإضافة "أعضاء الفريق" وإنشاء صفحات الموظفين وما إلى ذلك.

أحتاج إلى توسيع هذا حتى أتمكن من إضافة علامات إلى كل "عضو في الفريق" حتى أتمكن من وضع علامة عليهم على أنهم يعملون في قسم أ/ب/ج/إلخ.

يتم تسجيل نوع المنشور المخصص في ملف theme-init.php باستخدام هذا الرمز؛

/* Our Team */
function my_post_type_team() {
register_post_type( 'team',
    array(
        'label'               => theme_locals("our_team"),
        'singular_label'      => theme_locals("our_team"),
        '_builtin'            => false,
        // 'exclude_from_search' => true, // Exclude from Search Results
        'capability_type'     => 'page',
        'public'              => true,
        'show_ui'             => true,
        'show_in_nav_menus'   => false,
        'menu_position'       => 5,
        'menu_icon'           => ( version_compare( $GLOBALS['wp_version'], '3.8', '>=' ) ) ? 'dashicons-businessman' : '',
        'rewrite'             => array(
                                    'slug'       => 'team-view',
                                    'with_front' => FALSE,
                                ),
        'supports' => array(
                        'title',
                        'editor',
                    'thumbnail',
                    )
    )
);
}
add_action('init', 'my_post_type_team');

أريد إضافة علامات إلى هذا، بحيث عندما أقوم بإضافة عضو جديد في الفريق، يمكنني أيضًا تعيينه إلى قسم عن طريق إضافة علامة معينة ذات صلة.في الوقت الحالي، لا يظهر مربع محرر العلامات في صفحة إضافة/تحرير جديد.

لذلك، قمت بتعديل الكود أعلاه ليشمل تصنيف التسجيل مثل هذا؛

/* Our Team */
function my_post_type_team() {
register_post_type( 'team',
    array(
        'label'               => theme_locals("our_team"),
        'singular_label'      => theme_locals("our_team"),
        '_builtin'            => false,
        // 'exclude_from_search' => true, // Exclude from Search Results
        'capability_type'     => 'page',
        'public'              => true,
        'show_ui'             => true,
        'show_in_nav_menus'   => false,
        'menu_position'       => 5,
        'menu_icon'           => ( version_compare( $GLOBALS['wp_version'], '3.8', '>=' ) ) ? 'dashicons-businessman' : '',
        'rewrite'             => array(
                                    'slug'       => 'team-view',
                                    'with_front' => FALSE,
                                ),
        'supports' => array(
                        'title',
                        'editor',
                    'thumbnail',
                    )
    )
);
register_taxonomy(
    'team_tag',
    'team',
    array(
        'hierarchical'  => false,
        'label'         => theme_locals("tags"),
        'singular_name' => theme_locals("tag"),
        'rewrite'       => true,
        'query_var'     => true
    )
);
}
add_action('init', 'my_post_type_team');

ومع ذلك، ما زلت لا يظهر مربع العلامة في صفحة التعديل في المشرف.

أي مساعدة في هذا سيكون موضع تقدير كبير.

هل كانت مفيدة؟

المحلول

يبدو أن هذه القضية كانت في جزء منه إلى كونها موضوعا - init.php في موضوع الطفل الذي كان يسبب أجزاء من السمة-init.php في موضوع الإطار الأصل / الكرز.

قمت بحل المشكلة عن طريق إضافة التعليمة البرمجية التالية إلى مظهر طفلي موضوعي INIT.PHP؛

giveacodicetagpre.

نصائح أخرى

جرب هذا

giveacodicetagpre.

register_post_type( 'team',
    array(
        'label'               => theme_locals("our_team"),
        'singular_label'      => theme_locals("our_team"),
        '_builtin'            => false,
        // 'exclude_from_search' => true, // Exclude from Search Results
        'capability_type'     => 'page',
        'public'              => true,
        'show_ui'             => true,
        'show_in_nav_menus'   => false,
        'menu_position'       => 5,
        'menu_icon'           => ( version_compare( $GLOBALS['wp_version'], '3.8', '>=' ) ) ? 'dashicons-businessman' : '',
        'rewrite'             => array(
                                    'slug'       => 'team-view',
                                    'with_front' => FALSE,
                                ),
        'supports' => array(
                        'title',
                        'editor',
                    'thumbnail',
                    ),
        'taxonomies' => array('team_tag')
    )
);

يمكنك أن ترى أنني أضفت taxonomies المعلمة إلى register_post_type وظيفة.

على الرغم من أن هذا الرمز يجب أن يعمل، يمكنك محاولة إنشاء العلاقة لاحقًا باستخدام هذا:

add_action('init', 'add_tax_post_rel');

function add_tax_post_rel() {
    register_taxonomy_for_object_type('team_tag', 'team', 11);
}

يمكنك تجربة هذا

giveacodicetagpre.

قد يكون هذا سيساعدك

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى wordpress.stackexchange
scroll top