Mostrar Meta Box no modelo de página específica

Existe uma maneira de mostrar configurações de página personalizada em modelos de página específicos SOMENTE?

Por exemplo, eu tenho um campo de configurações: “Configurações personalizadas”. Eu não quero que isso seja exibido no “Modelo de página padrão”. Eu só quero que ele seja exibido se selecionarmos o “Modelo de página de configurações de página personalizada”.

Aqui está o meu código de checkbox de meta:

function cd_meta_box_add() { add_meta_box( 'icon-class-meta-box', 'Icon Class', 'ic_meta_box_cb', 'page', 'side', 'default' ); } add_action( 'add_meta_boxes', 'cd_meta_box_add' ); function ic_meta_box_cb( $post) { $values = get_post_meta( $post->ID ); $selected = isset( $values['ic_meta_box_select'] ) ? esc_attr( $values['ic_meta_box_select'][0] ) : ”; wp_nonce_field( 'ic_meta_box_nonce', 'meta_box_nonce' ); ?> 

<option value=" " > <option value="red" >red <option value="blue" >blue <option value="green" >green <option value="pink" >pink <option value="orange" >orange <option value="black" >black

<?php }

Solutions Collecting From Web of "Mostrar Meta Box no modelo de página específica"

Normalmente, uso CSS e jQuery para esse tipo de coisa, admin_head . Isso deve ser feito cliente-site como um usuário tem uma opção para selecionar o seu modelo ou outro após a carga de DOM. Basicamente, tudo o que você faz é verificar se o valor está definido para #page_template e alternar show/hide se seu modelo estiver selecionado ou não.

 add_action( 'admin_head-post.php', 'metabox_switcher' ); add_action( 'admin_head-post-new.php', 'metabox_switcher' ); function metabox_switcher( $post ){ #Isolate to your specific post type if( $post->post_type === 'page' ){ #Locate the ID of your metabox with Developer tools $metabox_selector_id = 'id-of-your-metabox'; echo '   '; } } 
 add_action('add_meta_boxes', 'add_product_meta'); function add_product_meta() { global $post; if(!empty($post)) { $pageTemplate = get_post_meta($post->ID, '_wp_page_template', true); if($pageTemplate == 'page-templates/product-page.php' ) { add_meta_box( 'product_meta', // $id 'Product Information', // $title 'display_product_information', // $callback 'page', // $page 'normal', // $context 'high'); // $priority } } } function display_product_information() { // Add the HTML for the post meta }