我正在尝试创建自己的插件(用于学习和网站开发),但还没有找到答案。
我在stackexchange上找到了一段代码来打印句柄列表:
global $wp_scripts;
foreach( $wp_scripts; -> queue as $handle ):
echo $handle . \' | \';
endforeach;
现在,如果我想在我的网站主页上打印一个句柄列表,这就太棒了。我可以使用相同的代码在管理区域的插件页面中打印它,但它缺少两件事。1)如何打印在主页上排队的脚本(不在那里打印)和2。)我无法获取所调用脚本的url。我认为最好将此列表打印到一个数组中,但我不知道在这种情况下如何执行(在数组中循环并存储每个$句柄的值)。
我已经包括了我写的函数。
function below_the_fold_admin() {
if ( is_admin() ) {
echo \'<div class="wrap"><h2 style="text-align: center">Below The Fold</h2><h3>A list of your script handles.</h3><p>\';
global $wp_scripts;
foreach( $wp_scripts->queue as $handle) :
echo $handle . \' | \'. $src . \'<br>\';
endforeach;
echo \'</p>\';
echo \'<h3>A list of your Style Handles</h3><p>\';
global $wp_styles;
foreach( $wp_styles->queue as $handle) :
echo $handle . \' | \' . $src . \'<br>\';
endforeach;
echo \'</p></div>\';
}
}
SO网友:Frank P. Walentynowicz
为了在帖子/页面中显示注册的脚本信息,我们将使用一个短代码。对于管理员注册的脚本,我们将使用admin_footer
行动挂钩。将此代码放入插件:
if(!is_admin) {
function fpwScripts($atts) {
global $wp_scripts;
$out = \'<h2>Registered Scripts</h2>\';
foreach($wp_scripts->registered as $key => $value) {
$out .= "<h3>{$value->handle}</h3>";
$out .= "source = {$value->src}<br>";
$out .= "dependencies = array(<br>";
foreach($value->deps as $dep) {
$out .= \' \' . "{$dep},<br>";
}
$out .= ")";
}
return $out;
}
add_shortcode(\'scripts\', \'fpwScripts\');
} else {
function fpwAdminScripts() {
global $wp_scripts;
$out = \'<div style="margin-left:200px">\';
$out .= \'<h2>Admin Registered Scripts</h2>\';
foreach($wp_scripts->registered as $key => $value) {
$out .= "<h3>{$value->handle}</h3>";
$out .= "source = {$value->src}<br>";
$out .= "dependencies = array(<br>";
foreach($value->deps as $dep) {
$out .= \' \' . "{$dep},<br>";
}
$out .= ")";
}
$out .= \'<p> </p><p> </p></div>\';
echo $out;
}
add_action(\'admin_footer\', \'fpwAdminScripts\');
}
Note: 如果您决定在插件的页面上显示管理员注册的脚本,而不是使用admin\\u footer hook,只需使用
fpwAdminScripts()
函数,在那里。