我正在开发一个带有(jQuery)onClick 按钮的表单,这样我就可以将其他文档的结果直接导入 WP 自定义字段。
为此,我必须将此脚本包含到我的表单中:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
如果我不包含此脚本,那么我的表单将不起作用:(
如果我包含这个脚本,那么我可以添加新帖子并使用我的表单 + 按钮,但是编辑帖子页面不会出现,我只会看到一个白屏。
最后我发现我是否将此代码插入到 admin-header.php 中的第 59 行:
<?php if ( is_admin() && $parent_file == 'edit.php') { ?>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<?php } ?>
然后一切都会按照我的意愿100%工作:D
我认为 WP 已经默认使用/包含此脚本,但正如我所见,这不是真的。至少不适用于 WP-Backend(发布页面)。
问题是:我不想编辑 WP CORE 文件,所以我的问题是如何使用 functions.php 而不是编辑 admin-header.php 获得相同的结果?
只是为了向您展示 admin-header 从 LINE 50 到 LINE 73 的样子:
<title><?php echo $admin_title; ?></title>
<?php
wp_enqueue_style( 'colors' );
wp_enqueue_style( 'ie' );
wp_enqueue_script('utils');
$admin_body_class = preg_replace('/[^a-z0-9_-]+/i', '-', $hook_suffix);
?>
<?php if ( is_admin() && $parent_file == 'edit.php') { ?>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<?php } ?>
<script type="text/javascript">
addLoadEvent = function(func){if(typeof jQuery!="undefined")jQuery(document).ready(func);else if(typeof wpOnload!='function'){wpOnload=func;}else{var oldonload=wpOnload;wpOnload=function(){oldonload();func();}}};
var ajaxurl = '<?php echo admin_url( 'admin-ajax.php', 'relative' ); ?>',
pagenow = '<?php echo $current_screen->id; ?>',
typenow = '<?php echo $current_screen->post_type; ?>',
adminpage = '<?php echo $admin_body_class; ?>',
thousandsSeparator = '<?php echo addslashes( $wp_locale->number_format['thousands_sep'] ); ?>',
decimalPoint = '<?php echo addslashes( $wp_locale->number_format['decimal_point'] ); ?>',
isRtl = <?php echo (int) is_rtl(); ?>;
</script>
如您所见,我的代码位于第 11,12 和 13 行以使其正常工作。