0

WP サイト用に、それぞれ異なるメタを呼び出すいくつかの異なるテンプレートを作成しました。

わかりました、正しいページ テンプレートが選択されている場合にのみ表示されるメタボックスを追加する方法を探しています。

たとえば、homepage.php テンプレートがあるとします。このテンプレートは、ホームページのみが使用する特定のメタ情報を呼び出します。たとえば、行動を促すフレーズです。そのため、適切なページ テンプレートが選択されるとメタボックスが表示され、別のページ テンプレートが選択されると消えるようにする必要があります。ページテンプレートが選択されています。

どんな助けでも大歓迎です。

4

2 に答える 2

0

わかりました、私は最終的にそれを回避する方法を見つけました。ここにあります:

<?php
function my_admin() {
    $post_id = $_GET['post'] ? $_GET['post'] : $_POST['post_ID'] ;
    $template_file = get_post_meta($post_id,'_wp_page_template',TRUE);
// check for a template type
    if ($template_file == 'home.php'){
        add_meta_box( 'product_info',
        'Informacion de Producto',
        'display_product_info_meta_box',
        'ex_producto', 'normal', 'high'
        );
    }  
}

function display_product_info_meta_box( $product_info ) {
    $product_price = floatval( get_post_meta( $product_info->ID, 'product_price', true           ) );
$product_code = esc_html( get_post_meta( $product_info->ID, 'product_code', true ) );
?>
<table>
    <tr style="width: 100%">
        <td >Precio Producto</td>
        <td><input type="text" size="80" name="product_info_product_price" value="<?php echo $product_price; ?>" /></td>
    </tr>
    <tr style="width: 100%">
        <td >Codigo de Producto</td>
        <td><input type="text" size="80" name="product_info_product_code" value="<?php echo $product_code; ?>" /></td>
    </tr>
</table>
<?php

}
add_action( 'admin_init', 'my_admin' );

?>

そう...うん、私はそこに誰かが良い線量を与えることを願っています:)

于 2013-02-02T05:03:20.893 に答える