问题描述
如何将 pre-defined 选项添加到”add new” 自定义字段下拉列表?
以下是自动添加和显示新自定义字段的两个示例:
这接近我想做的事情; 我的目标是将 pre-defined 选项添加到”add new” 自定义归档下拉列表中,但是在博主添加它们之前,它们不会显示为字段。
我想知道如何做,而不使用插件。
最佳解决方案
你不能用纯 PHP 来做,因为这些字段是从现有的字段中获取的,没有钩子。但是您可以使用 JavaScript,检查帖子类型是否支持自定义字段,并且字段不存在 – 并将其插入:
<?php # -*- coding: utf-8 -*-
/* Plugin Name: Extend custom fields */
add_action( 'admin_footer-post-new.php', 'wpse_98269_script' );
add_action( 'admin_footer-post.php', 'wpse_98269_script' );
function wpse_98269_script()
{
if ( ! isset ( $GLOBALS['post'] ) )
return;
$post_type = get_post_type( $GLOBALS['post'] );
if ( ! post_type_supports( $post_type, 'custom-fields' ) )
return;
?>
<script>
if ( jQuery( "[value='demo_data']" ).length < 1 ) // avoid duplication
jQuery( "#metakeyselect").append( "<option value='demo_data'>demo_data</option>" );
</script>
<?php
}
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。