创建自定义元框时出现未定义的函数错误

时间:2013-05-15 作者:Behseini

下列的this tutorial, 我试图通过向function.php 文件:

add_meta_box( \'my-meta-box-id\', \'My First Meta Box\', \'cd_meta_box_cb\', \'post\', \'normal\', \'high\' );
add_action( \'add_meta_boxes\', \'cd_meta_box_add\' );

function cd_meta_box_add()
{
  add_meta_box( \'my-meta-box-id\', \'My First Meta Box\', \'cd_meta_box_cb\', \'post\', \'normal\', \'high\' );
}

function cd_meta_box_cb()  
{  
  echo \'What you put here, show\\\'s up in the meta box\';     
}  
但我发现以下错误:

fatal error

( ! ) Fatal error: Call to undefined function add_meta_box() in C:\\wamp\\www\\TMPress\\wp-content\\themes\\twentytwelve\\cpt.php on line 94
Call Stack
#   Time    Memory  Function    Location
1   0.0012  865440  {main}( )   ..\\edit.php:0
2   0.0018  982824  require_once( \'C:\\wamp\\www\\TMPress\\wp-admin\\admin.php\' )    ..\\edit.php:10
3   0.0021  1008744 require_once( \'C:\\wamp\\www\\TMPress\\wp-load.php\' )   ..\\admin.php:30
4   0.0023  1026872 require_once( \'C:\\wamp\\www\\TMPress\\wp-config.php\' ) ..\\wp-load.php:29
5   0.0029  1158248 require_once( \'C:\\wamp\\www\\TMPress\\wp-settings.php\' )   ..\\wp-config.php:90
6   0.3251  32951888    include( \'C:\\wamp\\www\\TMPress\\wp-content\\themes\\twentytwelve\\functions.php\' )   ..\\wp-settings.php:291
7   0.3255  32979176    include_once( \'C:\\wamp\\www\\TMPress\\wp-content\\themes\\twentytwelve\\cpt.php\' )    ..\\functions.php:2
你能告诉我为什么会这样吗?有没有更好的方法添加包含字段和下拉选择框的元框?我知道有一些插件可以做这件事,但我真的很喜欢自己学习。

1 个回复
最合适的回答,由SO网友:birgire 整理而成

试试这个

add_action( \'add_meta_boxes\', \'cd_meta_box_add\' );

function cd_meta_box_add()
{
  add_meta_box( \'my-meta-box-id\', \'My First Meta Box\', \'cd_meta_box_cb\', \'post\', \'normal\', \'high\' );
}

function cd_meta_box_cb()  
{  
  echo \'What you put here, show\\\'s up in the meta box\';     
}  
ps:在代码顶部,我删除了一些额外的有问题的行,即:

add_meta_box( \'my-meta-box-id\', \'My First Meta Box\', \'cd_meta_box_cb\', \'post\', \'normal\', \'high\' );
更新:要将元框添加到自定义帖子类型编辑页面,请替换\'post\' 具有\'your-custom-post-type\' 在此行中:

add_meta_box( \'my-meta-box-id\', \'My First Meta Box\', \'cd_meta_box_cb\', \'your-custom-post-type\', \'normal\', \'high\' );

结束

相关推荐

将Metabox日期月份编号转换为单词

我使用带有日期(日、月和年)的自定义metabox。问题是,当我尝试将日期数字转换为日期字时,例如10是10月。我使用此代码:function eventposttype_get_the_month_abbr($month) { global $wp_locale; for ( $i = 1; $i < 13; $i = $i +1 ) { if ( $i == $month ) $monthabbr = $wp