我是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
}
;
?>
任何帮助都会非常感激:)
你必须使用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');