正在检查管理页面中的自定义字段

时间:2011-06-10 作者:zac

我正在有条件地为admin部分加载以下脚本:

if (is_admin()) {
    wp_register_style(\'admin_js\', get_bloginfo(\'template_directory\') . \'/admin.js\');
    wp_enqueue_script(\'admin_js\');
}
脚本获取具有以下内容的元素:

theID = document.getElementById(\'bar\').value; 
自定义元框上存在缺少的元素

<?php function my_meta() {
  global $post;
  $custom = get_post_custom($post->ID);
  $uniqueInput = $custom["uniqueInput "][0];
  ?>
  <p><label for="foo">Input:</label><br />
  <input id="bar"  name="bar" value="<?php echo $uniqueInput; ?>"></input></p>
 <?php } ?>
我仅在自定义帖子类型中生成自定义元框:

register_post_type( \'customType\' , $args );
我试图在排队中添加另一个条件:

if (is_admin()) {
    if(get_post_meta($post->ID, \'uniqueInput\', true)):
        wp_register_style(\'admin_js\', get_bloginfo(\'template_directory\') . \'/admin.js\');
        wp_enqueue_script(\'admin_js\');
    endif;
还有这个:

if (is_admin()) {
    $foo = get_post_meta($post->ID, \'uniqueInput\', true);
    if ($foo) {
       wp_register_style(\'admin_js\', get_bloginfo(\'template_directory\') . \'/admin.js\');
       wp_enqueue_script(\'admin_js\');
}
但这对我不起作用。脚本已被抑制,因此我不再得到缺少元素的错误。。。然而,这个条件从未满足,js从未加载。现在我意识到这是因为我做了错误的检查,看输入是否有输入值,而不是我需要的输入字段本身。进行此检查的最佳方式是什么?我会寻找自定义的帖子类型吗?

1 个回复
SO网友:Hameedullah Khan

是的,你做错了。您正在检查新帖子页面中没有的帖子自定义字段值,编辑旧帖子可能也没有设置自定义字段,或者可能设置为空值。

是的,您需要检查自定义帖子类型:

if ( is_admin() && ( $post->post_type == "customType" ) {
     wp_register_style(\'admin_js\', get_bloginfo(\'template_directory\') . \'/admin.js\');
       wp_enqueue_script(\'admin_js\');
}

结束

相关推荐

‘Posts’的帖子类型说明

在我目前正在开发的网站上,我使用“自定义帖子类型UI”来管理我的自定义帖子类型。在此范围内,我可以管理我创建的任何新自定义帖子类型的描述。如何编辑默认“posts”帖子类型的描述?我将在每个部分的标题下输出此描述。谢谢