問題描述
如何將 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。
