Freitag, 25. Januar 2013

Einen Seiteninhalt an belieber Stelle im WordPress-Template ausgeben

Ich stand vor dem Problem auf einer Startseite bei WordPress in der index.php einen Intro-Text einzufügen. Den Text einfach hart reincoden wäre ja kein Problem gewesen, allerdings soll der Kunde gerade diesen Bereich auch selber übers WordPress-Backend steuern können. Mit folgenden zwei Codestücken könnt ihr das Problem lösen:

Code für die Ausgabe des Inhalts an gewünschter Stelle:

    <?php echo getPageContent(ID-der-Seite); ?>

Code für die functions.php damit das Ganze funktioniert:

<?php
function getPageContent($pageId)
{
if(!is_numeric($pageId))
{
return;
}
global $wpdb;
$sql_query = 'SELECT DISTINCT * FROM ' . $wpdb->posts .
' WHERE ' . $wpdb->posts . '.ID=' . $pageId;
$posts = $wpdb->get_results($sql_query);
if(!empty($posts))
{
foreach($posts as $post)
{
return nl2br($post->post_content);
}
}
}
?>


Quelle ist dieser super Blogartikel:

http://www.get-up-works.de/wordpress/wordpress-themes/seiteninhalt-an-beliebiger-stelle-im-theme-aufrufen/

Nachtrag 06.06.2014:

Da die Beschreibung oben bei mir gerade nicht mehr funktioniert hat hier eine Alternative. Den Code im Template an der gewünschten Stelle platzieren und die "99" mit der ID seiner Seite, die den Inhalt bereitstellen soll austauschen:


<?php
 $id = 99;
 $p = get_page($id);
 echo apply_filters('the_content', $p->post_content);
 ?>

Gefunden habe ich das hier:
http://www.netz-gaenger.de/blog/wordpress-tutorials/wordpress-seiteninhalte-sidebar-ausgeben

Keine Kommentare:

Kommentar veröffentlichen