我为我的WP网站构建了几个不同的模板,每个模板都调用不同的元素。
好的,我正在寻找一种方法来添加一个只有在选择了正确的页面模板时才会显示的元框。
说我有一个homepage.php模板,这个模板调用一些只有主页使用的特定元信息,例如一个动作调用,所以我需要在选择正确的页面模板后出现元框并消失如果选择了不同的页面模板。
感谢任何帮助。
答案 0 :(得分:0)
get_page_template将返回您正在查看的模板。您可以打开它以显示您想要的内容。
答案 1 :(得分: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' );
?>
所以......是的,我希望有人在那里服用一些好的东西:)