我写了一个wp插件,可以在本地主机上正常工作。它创建子主题目录并在那里复制home.php。但“主页”标签显示父主题中的旧内容。只有当我将home.php重命名为index.php时才有效。这是我的home.php
<?php
get_header(); ?>
<div id="container">
<div id="content" role="main">
</div><!-- #content -->
</div><!-- #container -->
此外,我在/ js文件夹中有script1.js文件,它应该向块添加一个文本框,但它没有。我像这样嵌入了脚本:
define('jsdir',plugin_dir_url(__FILE__).'js');
wp_enqueue_script('dk_js_myplugin',jsdir.'/script1.js',array('jquery'));
但是firebug没有在页面上显示它。 使用xampp本地安装wordpress时不存在这两个问题 感谢您的时间,非常感谢任何帮助!
答案 0 :(得分:1)
define( 'jsdir', WP_PLUGIN_URL . '/' . dirname( plugin_basename( __FILE__ )) . '/js' );
表达式dirname( plugin_basename( __FILE__ ))
返回目录wp-content/plugins
中的插件位置。阅读plugin_basename()。常量WP_PLUGIN_URL
返回插件目录的绝对路径。
在插件的代码中尝试:
<?php
var_dump( WP_PLUGIN_URL );
var_dump( dirname( plugin_basename( __FILE__ )));
// output should be like this:
string(36) "http://domain.tld/wp-content/plugins"
string(9) "my-plugin"
用于添加脚本的Init函数:
add_action( 'init', 'plugin_register_css_js' );
function plugin_register_css_js()
{
global $wp;
$current_url = add_query_arg( $wp->query_string, '', home_url( $wp->request ) );
if( $current_url == 'mypage' )
{
wp_enqueue_script( 'js', $jsdir . '/script1.js', array( 'jquery' ));
}
}
答案 1 :(得分:0)
如果您通过FTP访问(我假设您这样做),有时会出现权限问题,然后尝试使用权限。它也可能有助于解决php错误。
ini_set('error_reporting', E_ALL );
ini_set('display_errors', 1 );
答案 2 :(得分:0)
您可以通过Firebug检查它是否在您的远程服务器上加载了script1.js文件(不会产生404错误)?
答案 3 :(得分:0)
您的浏览器不会“调用”script1.js文件(参见附图)
我建议您重新检查您的模块,以便确保脚本已加载到标记中。
答案 4 :(得分:0)
你做了以下事情:
function load_dk_scripts() {
wp_enqueue_script(
'dk_js_myplugin',
'http://david.onenonly.info/wp-content/plugins/childtheme/js/script1.js',
array('jquery')
);
}
add_action('wp_enqueue_scripts', 'load_dk_scripts');