我正在寻找一种在WordPress前端的页脚中打印Javascript的解决方案,我知道这是有选择的。然而,如何让我在考虑这些问题时做到这一点:
无论使用何种主题,都将在页脚中打印
- 这将由插件完成。
期待您的建议。非常感谢。
我理解这种需求是如何被视为不友好的,但这是将在有限的托管wordpress安装中进行的,并且是一个双方同意的条件。因此,这是防止迁移的合理需要。
我正在寻找一种在WordPress前端的页脚中打印Javascript的解决方案,我知道这是有选择的。然而,如何让我在考虑这些问题时做到这一点:
无论使用何种主题,都将在页脚中打印
期待您的建议。非常感谢。
我理解这种需求是如何被视为不友好的,但这是将在有限的托管wordpress安装中进行的,并且是一个双方同意的条件。因此,这是防止迁移的合理需要。
无法覆盖
无法删除/筛选
这将由插件完成。
这些是相互排斥的。这样的事情不能由插件或WordPress中的任何其他代码来完成。您需要在Web服务器或PHP级别将代码挂接到其他地方。
您可以使用PHP。INI指令auto_append_file
或auto_prepend_file
强制以用户无法更改的方式包含其他PHP代码。理论上,这可以用来将代码放在页脚中,但不能保证它能处理任何特定的主题,因为它会发生在WordPress上下文之外。
同样,正如我在评论中所说的,我不知道你能百分之百确定地满足所有条件。以下是我认为在WordPress中工作时,您可以获得的最接近的信息。
使用MU插件wp-content 调用mu-plugins
. 该位置中的文件会自动加载,除非删除它们,否则无法禁用,因此您的用户需要某种服务器访问权限--(s)FTP或shell访问权限。这给了你更多的控制。
其次,WordPress提供了一种从挂钩中删除回调的机制,但您需要知道回调的名称。你可以利用这一事实,至少让它更难移除。
为此,可以使用匿名类,如下所示:
class Hard_To_Remove {
function __construct() {
add_action(\'wp_footer\',array($this,\'print_to_footer\'));
}
function print_to_footer() {
echo \'Hello, I am a footer message\';
}
}
new Hard_To_Remove();
它不容易删除,因为没有简单的方法来引用回调,而按如下方式编写它可以删除。class Hard_To_Remove {
function __construct() {
add_action(\'wp_footer\',array($this,\'print_to_footer\'));
}
function print_to_footer() {
echo \'Hello, I am a footer message\';
}
}
$htr = new Hard_To_Remove();
remove_action(\'wp_footer\',array($htr,\'print_to_footer\'));
闭包也会造成同样的困难。您无法轻松引用回调来删除它。add_action(
\'wp_footer\',
function() {
echo \'Hello, I am a footer message\';
}
);
但是,您可以通过检查global
变量$wp_filter
.add_action(
\'wp_footer\',
function() {
global $wp_filter;
var_dump($wp_filter[\'wp_footer\']);
}
);
这可能有点笨拙,但应该可以删除这些过滤器。主题总是有可能省略wp_footer()
但这应该相当罕见。
您可以使用shutdown
钩子,应该始终运行,但它会在结束时打印您的内容</html>
标签
我遇到了一个问题,谁能帮我一下吗……)我想在保存帖子之前执行自定义JavaScript函数,但我找不到如何执行类似于save\\u post-action-hook的JavaScript版本:)谢谢!