<?php
function prfx_custom_meta()
{
add_meta_box(
'some_meta_box_name'
,__( 'Some Meta Box Headline', 'plugin_textdomain' )
,'render_meta_box_content' //this is callback function.
,'post_type'
,'advanced'
,'high'
);
}
add_action( 'add_meta_boxes', 'prfx_custom_meta' );
?>
我使用上面的代码在Wordpress中创建了一个元数据箱。但是,为此 代码它没有显示出来 找不到解决方案。请提出任何有关该问题的想法
答案 0 :(得分:1)
这完全取决于您希望元数据出现的位置。
如果您希望它出现在帖子上,那么您需要使用
if ( ! function_exists( 'add_post_metabox' ) ){
function add_post_metabox(){
add_meta_box('post-meta', esc_html__('My Metabox', 'mytheme'), 'My_Metabox_function', 'post', 'side', 'low');
}
}
add_action('admin_init', 'add_post_metabox');
然后使用
创建元数据箱if ( ! function_exists( 'My_Metabox_function' ) ){
function My_Metabox_function( $post ){
//metabox layout and variables here
}
}
if ( ! function_exists( 'My_Metabox_save_function' ) ){
function My_Metabox_save_function($post_id){
global $post;
if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE ){
return $post_id;
} else{
//do save here
}
}
}
add_action( 'save_post', 'My_Metabox_save_function' );
如果你想在页面上找到它,那么你可以像上面那样创建它但是用页面而不是帖子
if ( ! function_exists( 'add_page_metabox' ) ){
function add_page_metabox(){
add_meta_box('page-meta', esc_html__('My Metabox on Page', 'mytheme'), 'My_Metabox_page_function', 'page', 'normal', 'high');
}
}
add_action('add_meta_boxes', 'add_page_metabox');
您可以挂钩admin_init
个add_meta_boxes
个钩子。有关详细说明,请参阅here。
您可以将其放在functions.php
文件中,也可以将其设置在单独的.php
文件中,并在functions.php
中使用以下内容进行调用:
require_once( get_template_directory(). '/include/metaboxes.php' );
这将包含位于您主题的metaboxes.php
目录中的/include
。