Heim >CMS-Tutorial >WordDrücken Sie >Eine kurze Analyse, wie man in WordPress ein benutzerdefiniertes Feldfeld hinzufügt
Wie füge ich in WordPress ein benutzerdefiniertes Feldfeld hinzu? Im folgenden Artikel erfahren Sie, wie Sie ein benutzerdefiniertes Feldfeld in WordPress hinzufügen. Ich hoffe, dass er Ihnen weiterhilft!
Wenn wir Artikel in WordPress schreiben, verwenden wir häufig einige benutzerdefinierte Felder, wie z. B. die beiden Meta-Tags der Webseitenbeschreibung und der Schlüsselwörter. Zu diesen beiden Tags können Sie lesen, was ich zuvor geschrieben habe: WordPress legt unabhängige Beschreibungen und Schlüsselwörter fest.
Normalerweise gehen wir beim Hinzufügen benutzerdefinierter Felder und ihrer Werte manuell zum Dropdown-Feld „Benutzerdefinierte Felder“ des Moduls, um die entsprechenden Felder auszuwählen, und geben sie dann ein. Der Wert muss übermittelt und abgewartet werden für einen kurzen Zeitraum, was etwas mühsam erscheint. Ist es also möglich, ein separates Panel für diese häufig verwendeten benutzerdefinierten Felder zu erstellen und den Inhalt einfach direkt einzugeben? Genau wie Artikel-Tags können Sie Tags direkt hinzufügen, ohne sie separat einzureichen. Die Antwort ist ja, hier ist die Darstellung:
Jetzt werde ich Ihnen die Bedienung beibringen. Fügen Sie einfach den gesamten folgenden Code in die Datei „functions.php“ des aktuellen Themas ein.
Hier fügen wir zwei benutzerdefinierte Felder mit den Namen _description_value und _keywords_value hinzu. Sie können dem folgenden Array mehrere Elemente hinzufügen, um den Zweck des Hinzufügens mehrerer benutzerdefinierter Felder zu erreichen.
Das erste Element des Arrays, name, ist der Name des benutzerdefinierten Felds. In diesem Code ist der Name des benutzerdefinierten Felds der Namenswert plus _value, um Konflikte mit anderen Codes zu vermeiden, z. B. _description_value; Wenn Sie für den benutzerdefinierten Feldwert einen Artikel veröffentlichen und das benutzerdefinierte Feld keinen Wert ausfüllt, wird der Standardwert „Titel“ verwendet, der der Titel des benutzerdefinierten Feldmoduls ist, z. B. „Zusammenfassung“, „Kategorie“ und „ Tag“ auf der Artikelbearbeitungsseite, dies ist der Modulname.
$new_meta_boxes =array( "description" => array( "name" => "_description", "std" => "这里填默认的网页描述", "title" => "网页描述:"), "keywords" => array( "name" => "_keywords", "std" => "这里填默认的网页关键字", "title" => "关键字:"));
Der folgende Code wird verwendet, um ein benutzerdefiniertes Feld und Eingabefeld zu erstellen. Kopieren Sie ihn einfach
function new_meta_boxes() { global $post, $new_meta_boxes; foreach($new_meta_boxes as $meta_box) { $meta_box_value = get_post_meta($post->ID, $meta_box['name'].'_value', true); if($meta_box_value == "") $meta_box_value = $meta_box['std']; // 自定义字段标题 echo'<h3>'.$meta_box['title'].'</h3>'; // 自定义字段输入框 echo '<textarea cols="60" rows="3" name="'.$meta_box['name'].'_value">'.$meta_box_value.'</textarea><br />'; } echo '<input type="hidden" name="ludou_metaboxes_nonce" id="ludou_metaboxes_nonce" value="'.wp_create_nonce( plugin_basename(__FILE__) ).'" />';}
Der folgende Code fügt der Artikelbearbeitungsseite ein benutzerdefiniertes Feldmodul hinzu, das die WordPress-Funktion zum Hinzufügen von Modulen add_meta_box verwendet. Dies ist genau das Gegenteil von dem, was im vorherigen Artikel „Löschen verwandter Module auf der WordPress-Artikelbearbeitungsseite“ getan wurde.
function create_meta_box() { if ( function_exists('add_meta_box') ) { add_meta_box( 'new-meta-boxes', '自定义模块', 'new_meta_boxes', 'post', 'normal', 'high' ); }}4. Speichern Sie die Artikeldaten
function save_postdata( $post_id ) { global $new_meta_boxes; if ( !wp_verify_nonce( $_POST['ludou_metaboxes_nonce'], plugin_basename(__FILE__) )) return; if ( !current_user_can( 'edit_posts', $post_id )) return; foreach($new_meta_boxes as $meta_box) { $data = $_POST[$meta_box['name'].'_value']; if($data == "") delete_post_meta($post_id, $meta_box['name'].'_value', get_post_meta($post_id, $meta_box['name'].'_value', true)); else update_post_meta($post_id, $meta_box['name'].'_value', $data); }}5. Verbinden Sie die Funktion mit der angegebenen Aktion
rrree
add_action('admin_menu', 'create_meta_box'); add_action('save_post', 'save_postdata');
Empfohlenes Lernen: „
WordPress-TutorialDas obige ist der detaillierte Inhalt vonEine kurze Analyse, wie man in WordPress ein benutzerdefiniertes Feldfeld hinzufügt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!