我为我的 WP 网站构建了几个不同的模板,每个模板都调用不同的元数据。
好的,我正在寻找一种添加元框的方法,该元框仅在选择正确的页面模板时才会显示。
假设我有一个 homepage.php 模板,这个模板调用了一些只有主页使用的特定元信息,一个示例的行动号召,所以我需要元框在选择正确的页面模板后出现,如果不同则消失页面模板被选中。
任何帮助表示赞赏。
我为我的 WP 网站构建了几个不同的模板,每个模板都调用不同的元数据。
好的,我正在寻找一种添加元框的方法,该元框仅在选择正确的页面模板时才会显示。
假设我有一个 homepage.php 模板,这个模板调用了一些只有主页使用的特定元信息,一个示例的行动号召,所以我需要元框在选择正确的页面模板后出现,如果不同则消失页面模板被选中。
任何帮助表示赞赏。
get_page_template将返回您正在查看的模板。你可以打开它来显示你想要的内容。
好的,我终于找到了解决方法,这里是:
<?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' );
?>
所以...是的,我希望给别人一些好处:)