Beiträge von ninedaysoff

    Hallo,

    Ich suche jetzt schon eine ganze Zeit nach einem simplen Beispiel wie man wp_list_pages und das Auslesen von Metaangaben verbindet. Im deutschen Codex steht unter wp_list_pages leider nichts drin, anders in der englischen Version, die leider kein Beispiel mitgibt und die ich auch nicht ganz verstehe.

    Zitat

    meta_key
    (string) Only include the Pages that have this Custom Field Key (use in conjunction with the meta_value field).
    meta_value
    (string) Only include the Pages that have this Custom Field Value (use in conjuntion with the meta_key field).

    Ich würde gerne Subpages an einer Stelle ausgeben, die Angaben der Seiten:

    - Übergeordnete Seite
    - - Erste Seite {keine relevanten metaangaben}
    - - Zweite Seite {keine relevanten metaangaben}
    - - Dritte Seite {meta: standardlink=yes}
    - - Vierte Seite {meta: standardlink=yes}

    Die dritte und vierte Seite soll nun getrennt von den anderen Child-Seiten ausgegeben werden, beispielsweise in einer ul oder einem div der die id standardlinks trägt, um diese Links anders zu formatieren.

    Hoffe ihr wisst Rat.

    Okay hier die Lösung:

    Wer Teile seines Templates aus dem Backend steuern möchte und z.b. im Backend angeben möchte welcher footer geladen werden soll, der kann gerne folgenden code benutzen:

    PHP
    <?php  
    	$testvar = get_post_meta($post->ID, 'DEIN_CUSTOM_PARAMETER', true); 
    	include (TEMPLATEPATH . "/$testvar.php");
    ?>

    Im obigen Beispiel wird der Wert aus dem Customparamter in der zweiten Zeile einfach mit ".php" ergänzt. Es handelt sich ja schliesslich im um eine Datei. Deswegen funktionierte es auch nicht, aber nun mit obigem code klappts!

    Inzwischen bekomm ich sogar eine Fehlermeldung :-D

    hier der code soweit:

    PHP
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    	<?php 
    		echo get_post_meta($post->ID, 'tie_to_sidebar', true);
    		$testvar = get_post_meta($post->ID, 'tie_to_sidebar', true);
    		include (TEMPLATEPATH . "/$testvar");
    	?>
    <?php endwhile; endif; ?>

    und hier ein ausschnitt aus der fehlermeldung:

    Warning: include(hier steht der korrekte pfad drin /sidebar_lounge_01) [function.include]: failed to open stream: No such file or directory in hier steht der korrekte pfad drin /page.php on line 76

    Warning: include() [function.include]: Failed opening 'hier steht der korrekte pfad drin /sidebar_lounge_01' for inclusion (include_path='.:/opt/RZphp5/includes') in hier steht der korrekte pfad drin /page.php on line 76

    kommt das irgendwie bekannt vor?

    Sers Rahner,

    Vielen Dank für den Tip! Wahrscheinlich war ich in meiner Problembeschreibung nicht konkret genug :)

    Mit get_post_meta arbeit ich auch scho ganz fleissig, aber alles was ich momentan kann ist den string über echo auszugeben :-D

    Ich versuch auch schon die ganze Zeit diesen String in einer Variablen abzulegen und diesen dann in der get_post_meta Funktion weiterzuverarbeiten.

    PHP
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
        <?php 
    	echo get_post_meta($post->ID, 'tie_to_sidebar', true);
    	$testvar = get_post_meta($post->ID, 'tie_to_sidebar', true);
    	include (TEMPLATEPATH . '\''+$testvar+'\'');
        ?>
    <?php endwhile; endif; ?>

    ICH BIN TOTALER PHP NOOB! Daher ist obiger Code entweder komplett falsch, was aber nicht so ganz sein kann, oder enthält einfach nur ein paar regex-fehler oder so.

    Was denkste, Rahner?
    Oder irgendjemand sonst ne Idee?!

    Hi,

    Ich richte mir gerade aus Wordpress ein kleines MinisiteCMS her und bearbeite die Pages. Folgende Idee dabei: Ich möchte Bestandteile der Seite über die Custom Fields kontrollieren. Beispielsweise der Footer, die Sidebar oder eine bestimmte Box.

    In den Custom Fields setz ich einfach einen Parameter wie 'call_template' und belege ihn z.B. mit dem Wert 'sidebar_01' oder 'sidebar_01.php'

    Im Pagetemplate soll der Wert dann abgerufen werden und dann mit z.B.
    <?php include (TEMPLATEPATH . 'hier soll dann der Wert irgendwie rein'); ?>
    schlussendlich in die Seite eingebunden werden.

    Wie mach ich das?