2016-07-15 4 views
0

Ich versuche meine einzelne Post-Page-Vorlage mit benutzerdefinierten Typen zu formatieren. Ich benutze the_content(), das den gesamten Inhalt anzeigt, aber wie kann ich einzelne Inhaltsfelder aufrufen, damit ich sie in der Vorlage anordnen kann?Wie arrangiere ich den_content() in der Wordpress Post-Seite?

functions.php

function stories_init() { 
$args = array(
    'label' => 'Stories', 
    'public' => true, 
    'show_ui' => true, 
    'capability_type' => 'post', 
    'hierarchical' => false, 
    'rewrite' => array('slug' => 'stories'), 
    'query_var' => true, 
    'menu_icon' => 'dashicons-video-alt', 
    'supports' => array(
     'title', 
     'editor', 
     'custom-fields', 

     'thumbnail',) 



    ); 
register_post_type('stories', $args); 
} 

Einzel post.html

<?php if (have_posts()) : while (have_posts()) : the_post(); ?> 
    <h2><?php the_title(); ?></h2> 
    <?php the_content(); ?> 

<?php endwhile; ?> 
+0

Mit was möchten Sie kommunizieren * Wie kann ich einzelne Inhaltsfelder aufrufen, damit ich sie in der Vorlage anordnen kann? * Und übrigens; Sie können eine Datei namens: erstellen. "** single-stories.php **" und machen Sie Ihre gesamte Anpassung in dieser Datei ... – Poiz

+0

Ich möchte auf den Inhalt in verschiedenen Divs zugreifen. Ich möchte zum Beispiel, dass der Titel in einer anderen Spalte erscheint als der Text vom Herausgeber. Ich versuche also, nur die benutzerdefinierten Felder zurückzugeben. – emcee

Antwort

0

Sie benötigen würde benutzerdefinierte Felder erstellen, um in Beiträgen verwendet werden, wenn Sie Teile Ihrer Inhalte wie jeden Absatz einzeln oder etwas, trennen wollte. the_content() wird immer den gesamten Inhalt ausdrucken.

Wenn Sie ein Plugin, es zu tun möchten, ist dies die beliebteste https://wordpress.org/plugins/advanced-custom-fields/

Oder wenn eine neue Nachricht erstellen, können Sie nach oben und klicken Sie auf Screen Options dann die Custom Fields box überprüfen.

Benutzerdefinierte Felder werden unter Ihrem Post-Inhalt angezeigt. Sie können eine neue erstellen und ihr einen Wert zuweisen (Sie fungieren als Schlüssel/Wert-Paare).

es in der Vorlage zu nennen, verwenden <?php echo get_post_meta($post_id, $key, $single); ?>

$post_id -> die ID des Beitrags ist, dass Sie die Meta-Werte für wollen. Verwenden Sie $post->ID, um die ID eines Beitrags innerhalb des Variablenbereichs $post abzurufen. Verwenden Sie get_the_ID(), um die ID des aktuellen Elements in der WordPress-Schleife abzurufen.

$key -> ist eine Zeichenfolge, die den Namen des gewünschten Metawerts enthält.

$single kann entweder true oder false sein. Wenn diese Option auf "true" gesetzt ist, gibt die Funktion ein einzelnes Ergebnis als Zeichenfolge zurück. Wenn false oder nicht festgelegt ist, gibt die Funktion ein Array der benutzerdefinierten Felder zurück.

+0

Danke! Das ist, was ich gesucht habe. Gibt es eine Möglichkeit, benutzerdefinierte Felder zu löschen? – emcee

+0

Wenn Sie nur für einen bestimmten Beitrag löschen möchten, können Sie dies auf dem Bildschirm tun, auf dem Sie den Beitrag im WordPress-Admin erstellen. Wenn Sie ein benutzerdefiniertes Feld für alle Posts löschen möchten, sollten Sie am besten in phpmyadmin gehen und eine SQL-Abfrage ausführen, um es auf einmal von allem zu löschen. Vielleicht gibt es einen einfacheren Weg, aber ich bin mir nicht sicher. –

0

Da der Name Ihrer benutzerdefinierten-Post ist stories, Sie sind besser gestellter eine spezielle Datei-Erstellung mit dem Namen: single-stories.php in Ihrem Themenverzeichnis. In dieser Datei können Sie etwas tun:

<?php 
    // FILE-NAME: single-stories.php 

    if (have_posts()) : 
     while (have_posts()) : the_post(); $id= get_the_ID(); // IN CASE YOU NEED IT ?> 
      <h2><?php the_title(); ?></h2> 
      <?php the_content(); ?> 
      <span class="entry-author"><?php echo get_the_author(); ?></span> 
      <span class="entry-date"><?php echo get_the_date(); ?></span> 
      <!-- YOU CAN DO AS YOU WISH IN THIS FILE --> 
      <!-- AND THE RENDERING HERE WILL BE UNIQUE TO THE CUSTOM STORIES POSTS --> 
      <!-- HOWEVER, BE INFORMED THAT THIS IS FOR DETAILED (SINGLE-POST) VIEW ONLY --> 
     <?php endwhile; ?> 
    <?php endif; ?> 
+0

Vielen Dank für Ihre Antwort. Ich denke, ich habe meine Frage schlecht formuliert, aber Nate konnte mich entziffern. – emcee

Verwandte Themen