WP插件:在页眉中打印Java脚本

时间:2016-07-30 作者:user6601842

[我是wordpress编程新手。]

我正在开发一个插件。插件需要在标题中使用javascript代码。为了只在插件设置页面的标题中打印代码。我不能那样做。我已经提到instructions here

如果使用this plugin

我还尝试通过下面的方法在body(div之后)中添加代码。。。。

include( plugin_dir_path( __FILE__ ) . \'ipn/javascript.php\');
但这并没有起作用。

检查插件代码。。。。

add_action( \'admin_enqueue_scripts\', \'my_enqueued_assets\' );

function my_enqueued_assets() {
wp_enqueue_script(\'Google_jquery\', \'http://code.jquery.com/jquery-2.2.4.min.js\');

}

add_action(\'admin_menu\', \'my_plugin_menu\');
function my_plugin_menu() {
add_menu_page(\'My Plugin Settings\', \'Plugin Settings\', \'administrator\', \'my-plugin-settings\', \'my_plugin_settings_page\', \'dashicons-admin-generic\');
}

function my_plugin_settings_page() {
global $my_plugin_settings;

echo \'HTML Form code here\';
add_action( "admin_head-{$my_plugin_settings}", \'my_admin_head_script\' );
}
function my_admin_head_script() { ?>




// javascript code that i want to print in header

<script type="text/javascript">$(function() {
var scntDiv = $(\'#p_scents\');
var i = $(\'#p_scents p\').size() + 1;

$(document).on(\'click\',\'#addScnt\', function() {
        $(\'html code here\').appendTo(scntDiv);
        i++;
        return false;
});

$(document).on(\'click\',\'#remScnt\', function() { 
        if( i > 2 ) {
                $(this).parents(\'p\').remove();
                i--;
        }
        return false;
});
});</script>
// javascript code end



<?php }
add_action(\'admin_head\', \'my_custom_fonts\');

function my_custom_fonts() {
echo \'CSS style here\';
}

1 个回复
SO网友:Helmi

要仅在单个插件页面的管理区域的标题部分插入代码,您需要更改add_action()作用

add_action(\'admin_head-pageof_thisplugin/thisplugin\', \'thisplugin_adminhead\');

function thisplugin_adminhead() {
    // here goes your content
    echo \'<script>\'
         .\'/* ... */\'
         .\'</script>\';
}
在哪里pageof_thisplugin/thisplugin从创建页面的函数中返回的钩子段塞add_submenu_page(), 添加\\u选项\\u页面or添加\\u management\\u页面“”。

来源和更多详细信息,请参阅WordPress Codex