首页 > 解决方案 > 为什么 add_action 钩子不执行 js 代码

问题描述

尝试连接到插件操作以在特定操作后在 localstorage 中设置变量。

代码看起来像这样

do_action( 'some_action', $insert_id )

add_action('some_action', 'func', 10, 1);

function func($id) 
{?
<script>
    localStorage.setItem('is_item', 1 );
</script>
<?php} 

我的代码没有被触发,而是简单地以这种方式从控制台添加到代码中 在此处输入图像描述

标签: javascriptwordpress

解决方案


为了使其工作,您需要do_action在您希望此功能应用的位置添加功能。在您的情况下,它应该是一个 HTML 文档。例如:

函数.php

add_action('some_action', 'func', 10, 1);
function func($id) 
{
?>
   <script>
       localStorage.setItem('is_item', 1 );
   </script>
<?php
}

header.php中

<html>
<head></head>
<body>
<?php do_action( 'some_action', $insert_id )  ?>
</body>
</html>

推荐阅读