仅将脚本加载到发布编辑页面

时间:2013-09-20 作者:jay

我为帖子和页面添加了一些元框,所以我只想在创建/编辑帖子和页面上加载js脚本。我该怎么做?目前,我正在使用以下内容,但这会在管理的所有页面中加载脚本。

function my_meta_boxes() {
    add_meta_box("post_meta", "Meta", "post_meta", "post", "normal", "high");
    add_meta_box("post_meta", "Meta", "post_meta", "page", "normal", "high");

}
add_action( \'add_meta_boxes\', \'my_meta_boxes\' );

function register_custom_scripts() {
    wp_enqueue_script( \'custom_js\', get_template_directory_uri() . \'/inc/meta/custom.js\', array( \'jquery\' ));
    wp_enqueue_style( \'custom_css\', get_template_directory_uri() . \'/inc/meta/custom.css\');
}
add_action( \'admin_init\', \'register_custom_scripts\' );

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

我们可以通过以下几点改进:

function specific_enqueue($hook_suffix) {
   if( \'post.php\' == $hook_suffix || \'post-new.php\' == $hook_suffix ) {
     wp_enqueue_script( \'custom_js\', get_template_directory_uri() . \'/inc/meta/custom.js\', array( \'jquery\' ));
     wp_enqueue_style( \'custom_css\', get_template_directory_uri() . \'/inc/meta/custom.css\')
  }
}
add_action( \'admin_enqueue_scripts\', \'specific_enqueue\' );

SO网友:Maruti Mohanty

使用admin\\u enqueue\\u scripts hook将脚本排入管理页面,并使其进入特定页面,请遵循以下步骤:--

function specific_enqueue( $hook ) {
    if( \'post.php\' != $hook )
        return;
    wp_enqueue_script( \'custom_js\', get_template_directory_uri() . \'/inc/meta/custom.js\', array( \'jquery\' ));
    wp_enqueue_style( \'custom_css\', get_template_directory_uri() . \'/inc/meta/custom.css\')
}
add_action( \'admin_enqueue_scripts\', \'specific_enqueue\' );
希望有帮助!!

SO网友:cybmeta

我有另一种方法,它需要更少的代码。在添加脚本以使用元盒时,可以在add_meta_boxes() 行动挂钩。它工作得很好,您不需要在每个管理区域的请求中检查实际页面。

function my_meta_boxes() {

    add_meta_box("post_meta", "Meta", "post_meta", "post", "normal", "high");
    add_meta_box("post_meta", "Meta", "post_meta", "page", "normal", "high");
    wp_enqueue_script( \'custom_js\', get_template_directory_uri() . \'/inc/meta/custom.js\', array( \'jquery\' ));
    wp_enqueue_style( \'custom_css\', get_template_directory_uri() . \'/inc/meta/custom.css\');

}
add_action( \'add_meta_boxes\', \'my_meta_boxes\' );

结束

相关推荐

在Metabox中添加上传按钮

我想为图像添加上传图像按钮并检索url。谁能帮帮我,我已经试了好几天了。我正在使用此线程中的代码Create more Meta Boxes as needed. add_action( \'add_meta_boxes\', \'dynamic_add_custom_box\' ); /* Do something with the data entered */ add_action( \'save_post\', \'dynamic_save_postdata\' );&#