是否可以从插件触发将 <script> 注入到多个 wordpress 帖子中?
Posted
技术标签:
【中文标题】是否可以从插件触发将 <script> 注入到多个 wordpress 帖子中?【英文标题】:Is it possible to trigger injection of <script> to multiple wordpress posts from a plugin? 【发布时间】:2021-10-28 04:33:54 【问题描述】:我正在尝试使用我创建的插件将
这就是我试图实现的所有目标,但似乎没有任何效果。
-
尝试使用来自@wordpress/hooks 的
addAction('hook name', 'namespace', 'callback')
,但这似乎不起作用。 (下面是 JS 文件中的代码)。
myObj.addAction('wp_head', 'namespace', function()
<script>console.log("Hello World")</script>;
);
myObj.doAction('wp_head');
-
对 php 进行了 AJAX 调用以触发
add_action('wp_head', 'callback')
,但是如果我们尝试从插件的入口文件手动执行此操作,则
//to create the wp_ajax_* hooks in my PHP script.
add_action('wp_ajax_request_function','ajax_request_function');
//AJAX call from react component.
jQuery(document).ready(function ($)
$.ajax(
url: ajaxurl,
data:
'action': 'ajax_request_function',
'post_type': 'POST'
,
success: function (data)
window.alert(data);
,
error: function (errorThrown)
console.log(errorThrown);
);
);
function inject_script_to_head()
?>
<script>
alert("adding this to header");
</script>
<?php
function ajax_request_function()
if(isset($_POST))
add_action('wp_head', 'inject_script_to_head');
die();
【问题讨论】:
【参考方案1】:这段代码永远不会运行:
function ajax_request_function()
if(isset($_POST))
add_action('wp_head', 'inject_script_to_head');
die();
试试这个:
function inject_script_to_head()
if(is_single())
?>
<script>
alert("adding this to header");
</script>
<?php
add_action('wp_head', 'inject_script_to_head');
【讨论】:
以上是关于是否可以从插件触发将 <script> 注入到多个 wordpress 帖子中?的主要内容,如果未能解决你的问题,请参考以下文章
jQuery 插件可由控制台触发,但不能由函数触发 - 为啥会这样?