Hallo zusammen. Ich bin gerade dabei, Wordpress als CMS für mein Büro zu verwenden. Dabei sollen statische Haupt.Seiten, Unter.Seiten und Beiträge (als Inhalt-Lieferanten) zur Verwendung kommen. Da ich momentan über keinen MYSQL-Server verfüge, kann ich den aktuellen Stand leider nicht "live" hochladen :sad:
Die Homepage habe ich soweit vom Grundgerüst mit CSS gelayoutet und programmiert. Hier gibt es eine nicht mehr ganz aktuelle Version des geplanten Layouts (Navigation auf linker Seite nicht beachten!) - zum besseren Verständnis. Als Beispiel möchte ich die ÜBER.UNS.seite besprechen.
http://www.toxic-twin.de/test/index6.html
Nach vielen grauen Haaren, die mir als kompletter Neuling gewachsen sind, habe ich heute endlich einen kleinen Fortschritt gemacht. Eigentlich funktioniert die Seite, bis auf ein Feature, jetzt so, wie ich es gerne hätte:
• Auf der linken Seite die Navigation zu den HAUPT.seiten. Gesteuert vom WP_menu.
• Existieren zu einer HAUPT.seite mehrere UNTER.seiten, werden diese als UNTER.navigation oben rechts angezeigt
• und die Inhalte der UNTER.seiten werden auf der HAUPT.seite untereinander weg reingeladen. Anker werden gesetzt und vervollständigen die UNTER.navigation.
Jetzt kommt das Problem: Ich hatte vor, Posts (Beiträge!?) als INHALTS.lieferanten für eine UNTER.seite, z.B. MITARBEITER zu nehmen. Vom Mitarbeiter-Beitrag wird das Beitrags.bild, der Beitrags.titel, Beitrags.inhalt sowie zwei drei benutzerdefinierte Felder und die Kategorie:Mitarbeiter verwendet.
Den Code zum Beitrags-Auslesen, nach einer bestimmten Kategorie (Mitarbeiter), habe ich so geschrieben:
<?php
$args = array( 'numberposts' => 15, 'category' => 7, 'orderby' => meta_value_num, 'order' => ASC );
$myposts = get_posts( $args );
foreach($myposts as $post) { $content = $post->post_content;$seite = get_post_meta($post->ID, 'mseite',true);$rolle = get_post_meta($post->ID, 'mrolle',true);$bild = get_the_post_thumbnail($post->ID, 'full', array('class' => $seite)); ?>
<?php echo $bild ?>
<div id="<?php echo $seite ?>">
<h4><?php echo $post->post_title; ?></h4><br />
<h5><?php echo $rolle ?></h5>
<?php echo $content ?><br clear="all" />
</div>
<?php } ?>
Alles anzeigen
Wenn ich diesen Code in das Template der HAUPT.seite schreibe, wird mir auch der korrekte Inhalt ausgegeben. Untereinander erscheinen die Mitarbeiter, mit den Bildern und den Sprechblasen, je nach definiertem custom_field entweder links oder rechts angeordnet.
Vielleicht habe ich jetzt ein generelles Verständnisproblem, oder ich gehe zu blauäugig an die Sache ran, aber ich hätte jetzt vorgehabt, die Mitarbeiter-Posts zuerst in die UNTER.seite.MITARBEITER einzulesen, und diesen Inhalt dann wie von den anderen UNTER.seiten auf die HAUPT.seite zu bringen.
Genau hier liegt der Hund begraben! Ich kann den PHP-Code ja nicht einfach als Inhalt im Editor zur MitarbeiterSeite einfügen - damit passiert ja nichts! Wenn ich den Code in die TEMPLATE.datei der Mitarbeiter.Seite schreibe, erscheinen die Mitarbeiter zwar, wenn ich die UNTER.seite direkt anschaue, aber der Transfer zur Haupt.seite funktioniert so nicht... Muss hier im Template irgendwo definiert werden, was beim übergeben als $content gehandhabt wird?! Oder liegt es daran, dass beim Aufrufen der HAUPT.seite der php-code der Mitarbeiter.Seite nicht "vor-ausgeführt" wird?! ich komm nicht mehr weiter :/
Das Template für meine UNTER.seite.MITARBEITER sieht folgendermaßen aus:
<?php
/**
* Template Name: Schegk Mitarbeiter
* Inhalts Template fuer statische SchegkSeiten.
*/
get_header(); ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<?php
$args = array( 'numberposts' => 15, 'category' => 7, 'orderby' => meta_value_num, 'order' => ASC );
$myposts = get_posts( $args );
foreach($myposts as $post) { $content = $post->post_content;$seite = get_post_meta($post->ID, 'mseite',true);$rolle = get_post_meta($post->ID, 'mrolle',true);$bild = get_the_post_thumbnail($post->ID, 'full', array('class' => $seite)); ?>
<?php echo $bild ?>
<div id="<?php echo $seite ?>">
<h4><?php echo $post->post_title; ?></h4><br />
<h5><?php echo $rolle ?></h5>
<?php echo $content ?><br clear="all" />
</div>
<?php } ?>
<?php endwhile; endif; ?>
<?php get_footer(); ?>
Alles anzeigen
Direkt funktioniert es, aber über <?php echo $content ?> auf die HAUPT.seite geladen bekomme ich gar nichts - im Quelltext wird an dieser Stelle gar nichts eingefügt...
Um noch ein klareres Bild zu vermitteln, hier noch sowas wie ein Organisations-Bild meiner Homepage:
Ich hoffe, dass ihr mein Problem versteht und mir vielleicht weiterhelfen könnt. Da ich keine Ahnung vom Programmieren habe, ist das meine Lösung, wie ich an die Sache rangegangen wäre. Vielleicht gibt's ja durchaus elegantere und schlankere Möglichkeiten, die Seite zu organisieren?!
Vielen Dank im Voraus und viele Grüße,
Merlin