如果包含某个页面,则添加jQuery文件

时间:2014-03-17 作者:luukgruijs

我想知道是否有人能帮我解释一下,如果只在主页这样的情况下,是否可以将javascript文件排队。包括php。

我在主页内所做的尝试。php:

class homepage_js {
static $add_script;

static function init() {
    add_action(\'init\', array(__CLASS__, \'register_script\'));
    add_action(\'wp_footer\', array(__CLASS__, \'print_script\'));
}

static function register_script() {
    wp_register_script(\'my-script\', plugins_url(\'my-script.js\', __FILE__), array(\'jquery\'), \'1.0\', true);
}

static function print_script() {
    if ( ! self::$add_script )
        return;

    wp_print_scripts(\'my-script\');
}
}

homepage_js::init();
有人有办法吗?

2 个回复
SO网友:Rarst

虽然您可以通过“加载什么模板”来实现,但WP并不是为这种逻辑而设计的。模板加载是逻辑处理的结果,而不是相反。

你应该退房Conditional Tags 并确定哪个逻辑检查适用于您的情况。

除此之外,您应该:

在适当的wp_enqueue_scripts hook让WP处理页脚加载(您正在通过registartion进行),很少需要显式打印

SO网友:Eric Holmes

想到的最明显的解决方案实际上是将脚本放入所需文件的队列中,或者放入仅在该文件中调用的函数中。如果wp_enqueue_script() 正在运行wp_head(), 它在页脚中排队。

结束

相关推荐

如何在WordPress中包含调整大小的javascript/jQuery图像?

我不想在我的wordpress主题中包含此脚本,使其根据当前窗口高度调整帖子内所有图像的大小:https://github.com/gutierrezalex/photo-resize我在文本编辑器中创建了一个基本的测试页面,它可以很好地调整图像的大小。然而,当我试图将其应用/包括在我的wordpress主题中时,我根本无法使其发挥作用。