如何在自定义帖子添加/编辑页面上将脚本入队?

时间:2011-07-14 作者:Javier Villanueva

我试图仅当有人添加或编辑我创建的名为“recipes”的自定义帖子类型时,将JS脚本排队。当前,当我执行以下操作时,脚本工作正常:

if (is_admin()){
    wp_enqueue_script( \'my-script\' );
}
但这会在每个管理页面中加载它,我假设我需要将它挂接到一个函数,但我不知道它会是什么。

提前感谢!

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

你可以这样做functions.php) :

function add_admin_scripts( $hook ) {

    global $post;

    if ( $hook == \'post-new.php\' || $hook == \'post.php\' ) {
        if ( \'recipes\' === $post->post_type ) {     
            wp_enqueue_script(  \'myscript\', get_stylesheet_directory_uri().\'/js/myscript.js\' );
        }
    }
}
add_action( \'admin_enqueue_scripts\', \'add_admin_scripts\', 10, 1 );

SO网友:Chip Bennett

有一个钩子,使用起来非常简单。See this tutorial for an example implementation.

编辑贾斯汀将他的教程从DevPress移到了他的个人网站。Here\'s the updated link for the tutorial.

SO网友:FLOQ Design

Rootstheme (基于Twitter引导)有一种非常优雅的加载脚本的方式,具体取决于页面/帖子类型,如roots_scripts 作用which can be seen here on github.

基本上注册所有脚本和样式,然后使用条件语句包装wp_enqueue_scriptwp_enqueue_style 声明。

结束

相关推荐

hooks & filters and variables

我是updating the codex page example for action hooks, 在游戏中完成一些可重用的功能(最初是针对这里的一些Q@WA)。但后来我遇到了一个以前没有意识到的问题:在挂接到一个函数以修改变量的输出后,我再也无法决定是要回显输出还是只返回它。The Problem: 我可以修改传递给do_action 用回调函数钩住。使用变量修改/添加的所有内容仅在回调函数中可用,但在do_action 在原始函数内部调用。很高兴:我将其修改为一个工作示例,因此您可以将其复制/粘贴