首先,我知道这是“不好”的做法,有几个不同的原因,但我不想浪费你的时间,这是我需要做的事情。
使用一个相当简单的插件,我尝试将其复制到函数中。php和更新文件路径和依赖项,但我遇到了一些问题。
插件文件如下所示:-
$plugin_headers = get_file_data( __FILE__, array( \'Version\' => \'Version\', \'Name\' => \'Plugin Name\' ) );
/**
* We store our plugin data in the following global array.
* $my_unique_name with your unique name
*/
global $my_unique_name;
$my_unique_name = array();
$my_unique_name[\'version_key\'] = strtolower( str_replace( \' \', \'_\', $plugin_headers[\'Name\'] ) ) . \'_version\';
$my_unique_name[\'version_value\'] = $plugin_headers[\'Version\'];
/**
* When the user activates the plugin we add the version number to the
* options table as "my_plugin_name_version" only if this is a newer version.
*/
function inline_comments_acitvation(){
global $my_unique_name;
if ( get_option( $my_unique_name[\'version_key\'] ) && get_option( $my_unique_name[\'version_key\'] ) > $my_unique_name[\'version_value\'] )
return;
update_option( $my_unique_name[\'version_key\'], $my_unique_name[\'version_value\'] );
}
register_activation_hook( __FILE__, \'inline_comments_acitvation\' );
/**
* Delete our version number from the database when the plugin is activated.
*/
function inline_comments_deactivate(){
global $my_unique_name;
delete_option( $my_unique_name[\'version_key\'] );
}
register_deactivation_hook( __FILE__, \'inline_comments_deactivate\' );
if ( is_admin() )
require_once plugin_dir_path( __FILE__ ) . \'admin/admin-tags.php\';
/**
* Theme only functions
*/
require_once plugin_dir_path( __FILE__ ) . \'inc/template-tags.php\';
function inline_comments_enqueue_scripts(){
$plugin_headers = get_file_data( __FILE__, array( \'Version\' => \'Version\', \'Name\' => \'Original Plugin Name\' ) );
$clean_name = strtolower( str_replace( \' \', \'-\', $plugin_headers[\'Name\'] ) );
wp_register_style( $clean_name . \'-style\', plugin_dir_url( __FILE__ ) . \'inc/css/style.css\' );
wp_register_script( \'textarea_auto_expand-script\', plugin_dir_url( __FILE__ ) . \'vendor/textarea-auto-expand/jquery.textarea_auto_expand.js\' );
wp_register_script( $clean_name . \'-script\', plugin_dir_url( __FILE__ ) . \'inc/js/script.js\', array(\'jquery\', \'textarea_auto_expand-script\') );
}
add_action(\'wp_enqueue_scripts\', \'inline_comments_enqueue_scripts\', 2);
将插件移动到主题文件夹后,我做了以下工作:删除了无意义的部分和函数。php我正在加载主脚本。js(它加载)和css,就像这样。
function inline_comments_enqueue_scripts(){
if ( is_singular() || is_page() ) {
wp_enqueue_style( \'inline-style\', get_template_directory_uri() . \'/css/inline-style.css\', \'10000\', \'all\' );
wp_enqueue_script( \'inline-script\', get_template_directory_uri() . \'/js/inline-script.js\', array( \'jquery\' ), MEDIUM_VERSION);
}
}
add_action(\'wp_enqueue_scripts\', \'inline_comments_enqueue_scripts\', 2);
好的,我们的脚本加载了css。
问题是插件的主要部分,它包含我无法加载的模板、函数和ajax调用。
本部分:-require_once plugin_dir_path( __FILE__ ) . \'inc/template-tags.php\';
我已尝试将此文件粘贴到函数中。php,什么都没发生,就是不起作用。
可能在某个地方犯了一个非常愚蠢的错误(除了在主题中构建插件之外,呵呵)。