0

我为我的 WP 网站构建了几个不同的模板,每个模板都调用不同的元数据。

好的,我正在寻找一种添加元框的方法,该元框仅在选择正确的页面模板时才会显示。

假设我有一个 homepage.php 模板,这个模板调用了一些只有主页使用的特定元信息,一个示例的行动号召,所以我需要元框在选择正确的页面模板后出现,如果不同则消失页面模板被选中。

任何帮助表示赞赏。

4

2 回答 2

0

get_page_template将返回您正在查看的模板。你可以打开它来显示你想要的内容。

于 2013-02-01T17:53:51.933 回答
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 回答