Quantcast
Channel: WordPress | Support-Foren » Alle Beiträge
Viewing all articles
Browse latest Browse all 54077

Es piaT on "Dynamische class bei jedem Artikel hinzufügen"

$
0
0

Hallo,

wenn du z.B. eine statische Seite als Startseite festgelegt hast, dann wird erst gar nicht auf die index.php zugegriffen sondern gleich auf eine page.php. Es kommt auf deine Einstellungen in "Einstellungen -> Lesen" an. Ich habe für den folgenden Test auch das twentyfourteen verwendet.

Diese Grafik kann dir darüber einen Einblick verschaffen - ist wirklich sehr nützlich: http://wphierarchy.com/
Codex: http://codex.wordpress.org/Template_Hierarchy

Dann habe ich mir mal
<?php $author = get_the_author_meta('display_name'); ?>
angesehen. Dieser Code ergibt ausserhalb des Loops (z.B.: in page.php) keinen Wert zurück.

Dieser allerdings schon (wenn ein User mit entsprechender ID besteht und eingefügt ist), z.B.:

<?php $author = get_the_author_meta('display_name', 2);
echo $author;

Der Codex meint das übrigens auch:

If used within The Loop, the user ID need not be specified, and the displayed data is that of the current post author. A user ID must be specified if used outside The Loop.

(http://codex.wordpress.org/Function_Reference/get_the_author_meta)

An der Stelle muss man sagen, dass dein Tutorial leider einen Fehler hat, da die Funktion get_the_author_meta ausserhalb des Loops ohne spezifizierte ID keinerlei Wert bringt. Würde ja auch keinen Sinn machen. Das geht aber vielleicht in einem Autoren-Template auch ausserhalb des Loops(?). Habe ich aber nicht getestet.

So nun zur Lösung. Ich ändere jetzt mal eine Seite.
content-page.php wird als Template für den Loop genommen. Alles was hier genommen wird, befindet sich innerhalb des Loops. Der Loop wird schon im Template page.php geöffnet und "umschliesst" die content-page.php. Ich hoffe das ist verständlich?

Ich habe nun in der content-page.php direkt vor:

<article ...

folgenden Code eingebunden:

<?php $author = get_the_author_meta('display_name');  ?>

Hier wird dann schon der Display Name des Autors "generiert" und in der Variable $author gespeichert.

Dann habe ich Zeile:

<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>

mit $author ergänzt:

<article id="post-<?php the_ID(); ?>" <?php post_class($author); ?>>

Und Voila es funktioniert.
Klappt es nun?


Viewing all articles
Browse latest Browse all 54077

Trending Articles