Heim > CMS-Tutorial > WordDrücken Sie > Eine kurze Analyse, wie man in WordPress ein benutzerdefiniertes Feldfeld hinzufügt

Eine kurze Analyse, wie man in WordPress ein benutzerdefiniertes Feldfeld hinzufügt

青灯夜游
Freigeben: 2023-03-06 19:40:31
nach vorne
1582 Leute haben es durchsucht

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!

Eine kurze Analyse, wie man in WordPress ein benutzerdefiniertes Feldfeld hinzufügt

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:

Eine kurze Analyse, wie man in WordPress ein benutzerdefiniertes Feldfeld hinzufügt

Jetzt werde ich Ihnen die Bedienung beibringen. Fügen Sie einfach den gesamten folgenden Code in die Datei „functions.php“ des aktuellen Themas ein.

1 Erstellen Sie die erforderlichen Feldinformationen

 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" => "关键字:"));
Nach dem Login kopieren

2. Erstellen Sie ein benutzerdefiniertes Feld-Eingabefeld

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&#39;<h3>&#39;.$meta_box[&#39;title&#39;].&#39;</h3>&#39;;

    // 自定义字段输入框
    echo &#39;<textarea cols="60" rows="3" name="&#39;.$meta_box[&#39;name&#39;].&#39;_value">&#39;.$meta_box_value.&#39;</textarea><br />&#39;;
  }
   
  echo &#39;<input type="hidden" name="ludou_metaboxes_nonce" id="ludou_metaboxes_nonce" value="&#39;.wp_create_nonce( plugin_basename(__FILE__) ).&#39;" />&#39;;}
Nach dem Login kopieren

3. Erstellen Sie ein benutzerdefiniertes Feldmodul

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(&#39;add_meta_box&#39;) ) {
    add_meta_box( &#39;new-meta-boxes&#39;, &#39;自定义模块&#39;, &#39;new_meta_boxes&#39;, &#39;post&#39;, &#39;normal&#39;, &#39;high&#39; );
  }}
Nach dem Login kopieren

4. Speichern Sie die Artikeldaten

Alle Vorbereitungen sind bereits erledigt, aber das Wichtigste ist, die Informationen in unseren benutzerdefinierten Feldern zu speichern.

function save_postdata( $post_id ) {
  global $new_meta_boxes;
   
  if ( !wp_verify_nonce( $_POST[&#39;ludou_metaboxes_nonce&#39;], plugin_basename(__FILE__) ))
    return;
   
  if ( !current_user_can( &#39;edit_posts&#39;, $post_id ))
    return;
               
  foreach($new_meta_boxes as $meta_box) {
    $data = $_POST[$meta_box[&#39;name&#39;].&#39;_value&#39;];

    if($data == "")
      delete_post_meta($post_id, $meta_box[&#39;name&#39;].&#39;_value&#39;, get_post_meta($post_id, $meta_box[&#39;name&#39;].&#39;_value&#39;, true));
    else
      update_post_meta($post_id, $meta_box[&#39;name&#39;].&#39;_value&#39;, $data);
   }}
Nach dem Login kopieren

5. Verbinden Sie die Funktion mit der angegebenen Aktion

Dies ist der letzte Schritt und der wichtigste Schritt. Was wir tun müssen, ist, die Funktion mit der angegebenen Aktion zu verbinden, damit das WordPress-Programm ausgeführt werden kann die Funktion, die wir zuvor geschrieben haben:

rrree

Okay, das ist alles, was wir tun müssen. Jetzt können Sie diese beiden benutzerdefinierten Felder in Ihrem Theme aufrufen und den Header kopieren Wenn Sie den Code vor befolgen, können Sie die Beschreibungs- und Schlüsselwort-Tags für Ihre Webseite anpassen. Für spezifischere Vorgänge verwenden Sie bitte die Suchmaschine:
add_action(&#39;admin_menu&#39;, &#39;create_meta_box&#39;);
add_action(&#39;save_post&#39;, &#39;save_postdata&#39;);
Nach dem Login kopieren

Empfohlenes Lernen: „

WordPress-Tutorial

Das 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!

Verwandte Etiketten:
Quelle:ludou.org
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage