调用未定义的函数add_action()wp_head

问题描述 投票:0回答:1

我是WordPress插件的新手,但我创建了一个简单的插件,它将自定义JavaScript添加到我的页面标题中。

当我在我的localhost上运行我的WordPress管理页面上的插件时,它完美地工作(就像它应该做的那样),但是我的IDE(phpStorm)中的插件出错了。

我得到的错误是:

PHP致命错误:未捕获错误:在C:\ xampp \ htdocs \ website1 \ wp-content \ plugins \ jade-plugin \ jade-plugin.php中调用未定义函数add_action():12堆栈跟踪:抛出C:\ xampp第12行的\ htdocs \ website1 \ wp-content \ plugins \ jade-plugin \ jade-plugin.php

致命错误:未捕获错误:在C:\ xampp \ htdocs \ website1 \ wp-content \ plugins \ jade-plugin \ jade-plugin.php中调用未定义函数add_action():12堆栈跟踪:抛出C:\ xampp \第12行的htdocs \ website1 \ wp-content \ plugins \ jade-plugin \ jade-plugin.php

处理以退出代码255结束

我不知道是什么导致了这个错误,但我认为这与我目录中的文件有关。

我也想将此插件上传到WordPress.org以用于我们的家族企业,但当我尝试上传插件时,我收到以下错误:

这个插件没有名字。添加插件名称:行到您的主插件文件并再次上传插件。

这是我的插件到目前为止:

    <?php
    /*
     * Plugin Name: InSite
     * Plugin URI: http://localhost
     * Description: Adds javascript
     * Version: 1.0
     * Author: Jade
     * License: GPL2
     */

    /* This function adds two lines of javascript to the page header */

    add_action('wp_head', 'addHeader');

    function addHeader()
    {
        ?>
        <script 
    src="http://app.insitesoftware.co.za:8080/socket.io/socket.io.js">
    </script>
        <script src="http://app.insitesoftware.co.za:8080/client.js">
    </script>

<?php
    }

    ;

    ?>

任何帮助都会非常感激:)

php wordpress
1个回答
0
投票

你必须使用wordpress编码标准和函数,包含JavaScript的钩子应该是wp_enqueue_scripts而不是wp_head。这是执行此操作的代码段功能。有关详细信息,请参阅this

function slug_cssinvolve() {

        //for custom script
        wp_register_script( 'custom-script', plugins_url( '/js/custom-script.js', __FILE__ ) );
        //for library

        wp_register_script( 'custom-script', plugins_url( '/js/custom-script.js', __FILE__ ), array( 'jquery' ) );

}
add_action('wp_enqueue_scripts', 'slug_cssinvolve');
© www.soinside.com 2019 - 2024. All rights reserved.