【问题标题】:Is it possible to trigger injection of <script> to multiple wordpress posts from a plugin?是否可以从插件触发将 <script> 注入到多个 wordpress 帖子中?
【发布时间】:2021-10-28 04:33:54
【问题描述】:

我正在尝试使用我创建的插件将

这就是我试图实现的所有目标,但似乎没有任何效果。

  1. 尝试使用来自@wordpress/hooks 的addAction('hook name', 'namespace', 'callback'),但这似乎不起作用。 (下面是 JS 文件中的代码)。

    myObj.addAction('wp_head', 'namespace', function() {
      <script>console.log("Hello World")</script>;
    });

    myObj.doAction('wp_head');
  1. 对 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();
}

【问题讨论】:

    标签: javascript php wordpress wordpress-rest-api wordpress-plugin-creation


    【解决方案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');
    

    【讨论】:

      猜你喜欢
      • 2023-02-06
      • 1970-01-01
      • 1970-01-01
      • 2016-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-23
      • 1970-01-01
      相关资源
      最近更新 更多