bis auf, das ich die apostrophs vergessen hatte, ist mein obiger code fast richtig.
das ganze wird dadurch durcheinandergebracht, das der ausdruck the_author_meta('first_name') beim vergleich der if-anweisung in der runden klammer angezeigt wird. mit "get_the_author_meta('first_name')" wird die ausgabe unterdrückt und es funktioniert, so wie es soll. Hier der richtige code:
Beiträge von hubert17
-
-
danke, aber leider nicht. Ergab folgenden Fehler: "Fatal error: Can't use function return value in write context in ..."
-
ich möchte gerne wahlweise ausgeben. wenn beim benutzer/autor der vor- und nachname angegeben wurde sollen diese ausgegeben werden, ansonsten der benutzername. hier mal mein code:
PHP<?php if ( the_author_meta(first_name) && the_author_meta(last_name) != '' ) { the_author_meta( first_name ); the_author_meta( last_name ); } else { the_author(); } ?>ich habe herausgefunden, das nach einigen löschen und veränderungen das
in der runden klammer der if-anweisung angezeigt wird (nicht die geschweifte klammer) und das
von else auch angezeigt wird, obwohl vor und nachname des autors angegeben wurden.
was mache ich falsch? -
Da es nicht am Plugin lag, ist es sicher das falsche Unterforum, aber ich gebe mal meine Lösung trotzdem zum Besten.
Der Loop mit query_posts() vergisst leider die Pfadangaben. Es muss also eine andere Lösung her. Da es verschiedene Möglichkeiten gibt, einen Loop auszuführen, bin ich unter 4 Ways to Loop with Wordpress fündig geworden.
Hier meine Lösung des Loops mit WP_Query(): -
Auf einer statischen Seite füge ich per
eine Bilderliste ein. Die Pfadangabe für ein Bild sieht z.B. so aus:
Nun möchte ich den Inhalt dieser statischen Seite auf der ersten Seite einfügen,das wie folgt aussieht:PHP<?php $temp = $wp_query; $wp_query= null; $wp_query = new WP_Query(); $wp_query->query('page_id=2'); ?> <?php while ($wp_query->have_posts()) : $wp_query->the_post(); ?> <div class="post"> <?php the_content(); ?> </div> <?php endwhile; ?> <?php $wp_query = null; $wp_query = $temp; ?>
Die Ausgabe funktioniert auch, aber das Beispielbild hat jetzt folgende Pfadangabe:
Das Bild läßt sich nun zwar anklicken, verweist aber nur auf die erste Seite, wie alle Links der eingefügten Bilderliste.
Wie kann ich die query-Abfrage dahingehend ändern, das die Pfadangabe auf das tatsächliche Bild verweist? -
-
ich möchte aus der normalen postnavigation den div-container entfallen lassen, wenn z.b. next_posts_link() nicht vorhanden ist.
hier mal mein code dazu:PHP<div class="navigation"> <?php if ( previous_posts_link() != 0 ) { ?> <div class="alignleft"><?php previous_posts_link() ?></div> <?php }; if ( next_posts_link() != 0 ) { ?> <div class="alignright"><?php next_posts_link() ?></div> <?php } ?> </div>komischerweise wird zwar jetzt der komplette div mit zugehörigem link von next_posts_link() weggelassen, aber jetzt fehlt auch der umgebende div von previous_posts_link.
der quelltext sieht wie folgt aus:HTML<div class="navigation"> <a href="http://localhost/wordpress3.0/?page_id=29&paged=3" >« Previous Page</a> </div>wäre für hilfe dankbar!
-
du hast vollkommen recht.
ich wollte so aber mehrere anweisungen per query in einer if-anweisung ausgeben. dann muß ich wohl die if-anweisung auch mehrmals ausführen.
danke -
ich gebe per query_post nur ein artikel einer kategorie aus.
ist der artikel älter als 30 tage soll nichts ausgegeben werden. nun steht aber noch die überschrift h2 dar, welche dann nicht ausgegeben werden soll. hier mal mein momentaner code dazu.PHP
Alles anzeigen<?php function filter_where($where = '') { //posts in the last 30 days $where .= " AND post_date > '" . date('Y-m-d', strtotime('-2 days')) . "'"; return $where; } add_filter('posts_where', 'filter_where'); if (have_posts()) : query_posts($query_string.'showposts=1&cat=1'); ?> <h2><?php wp_list_categories('include=1&title_li=&style=none'); ?></h2> <?php while (have_posts()) : the_post(); ?> <div class="post" id="post-<?php the_ID(); ?>"> <h3><a href="<?php the_permalink() ?>" rel="bookmark" class="title"> <?php /* title of the "featured articles" */ the_title(); ?></a></h3> <?php the_excerpt(); ?> </div> <?php endwhile; endif; ?>ich brauche mal einen ansatz, wenn kein artikel ausgegeben wird, das auch die überschrift h2 entfällt.
-
danke, so funktioniert es
rené
-
danke.
habe mal mein beispiel nach deiner vorgabe angepaßt:
PHP
Alles anzeigen<?php if (have_posts()) : $wp_query->query("category_name='$titel'&posts_per_page=3".'&paged='.$paged); while (have_posts()) : the_post(); ?> <div class="post"> <h4><a id="post-<?php the_ID(); ?>" href="<?php the_permalink() ?>" rel="bookmark" title=" <?php the_title(); ?>"><?php the_title(); ?></a></h4> <?php the_content(); ?> <p><?php comments_popup_link(__('kein Kommentar'), __('Kommentar (1)'), __('Kommentare (%)')); ?></p> <?php edit_post_link(__('Diesen Eintrag bearbeiten.'), '<p>', '</p>'); ?> </div> <?php endwhile; else : ?> <p><?php _e('Sorry, no posts matched your criteria.'); ?></p> <?php endif; ?>wenn jetzt keine beiträge vorhanden sind erfolgt aber keine ausgabe der else-anweisung!?
rené
-
per loop kann man ein else-anweisung hinzufügen.
PHP<?php if (have_posts()) : while (have_posts()) : the_post(); ?> ... <?php endwhile; else: ?> <p><?php _e('Sorry, no posts matched your criteria.'); ?></p> <?php endif; ?>nun erfolgt aber die ausgabe aber per query_post
wie kann ich jetzt in ähnlicher weise, die else-anweisung in den loop mit query_post in verbindung bringen?
rené
-
-
<?php wp_list_categories('exclude=13&title_li='); ?>
-
danke für deine bemühungen, aber den link hatte ich auch schon gesehen. die variante mit einem benutzerdefiniertem feld fand ich nicht so gut.
ich hatte folgenden link gefunden und daher auch mein obiger code:
http://schnipsel.davidhellmann.com/wordpress/word…sen/55#commentsmein fehler war, das ich innerhalb des loop versucht habe den kategorienamen variable zu gestalten, das geht natürlich nicht.
meine jetzige lösung. außerhalb des loop übergebe ich den seitentitel an eine variable und da der code seinen eigenen loop mitbringt steht beides nicht im loop:
PHP
Alles anzeigen<?php $titel = get_the_title(); ?> <?php global $myPosts; $myPosts = ''; ?> <?php $my_query = new WP_Query(); $my_query->query("category_name='$titel'"); if ($my_query->have_posts()) : while ($my_query->have_posts()) : $my_query->the_post(); $myPosts .= $post->ID . ","; ?> <h2><a id="post-<?php the_ID(); ?>" href="<?php the_permalink() ?>" rel="bookmark" title=" <?php the_title(); ?>"><?php the_title(); ?></a></h2> <div class="content"> <?php the_content(); ?> </div> <?php endwhile; endif; ?>es funktioniert.
rené
-
Korrekt! genau so soll es sein.
-
Ich möchte per
PHP<?php global $myPosts; $myPosts = ''; ?> <?php $my_query = new WP_Query(); $my_query->query('category_name="the_title()"'); if ($my_query->have_posts()) : while ($my_query->have_posts()) : $my_query->the_post(); $myPosts .= $post->ID . ","; ?>in der page.php die Artikel ausgeben, die den gleichen Seiten- und Kategorienamen haben.
Habe es wie im obigen Beispiel mit the_title() für den Kategorienamen versucht, aber es funktioniert so nicht.
Hat jemand einen Vorschlag, wie ich den Seitentitel variable an den Kategorienamen übergeben kann? Wäre für Hilfe dankbar.
René
-
danke für deine antwort.
funktioniert leider nicht wie gewünscht. die ausgabe erfolgt hier nur für den "include"-wert. "orderby=rand" wir ignoriert.
ist aber schon mal ein ansatz, wonach ich gesucht habe. wie kann ich aber [COLOR=#000000][COLOR=#cc0000]'titelformderseite1'[/COLOR][/COLOR] variabel halten, so das der momentane seitenname angezeigt, bzw verglichen wird?
ich denke, ich muß jetzt den seitennamen und den linktitel irgendwie vergleichen und wenn beide gleich sind, erfolgt die ausgabe des entsprechenden links.
bei der Ausgabe der zufälligen links, muß ich ihn dann entsprechend wieder ausschließen. -
moin,
per
kann ich drei links einer bestimmten kategorie zufällig ausgeben.
nun möchte ich aber, das für eine bestimmte seite bzw. unterseite ein jeweils bestimmter link immer dabei ist.
nun meine frage hierzu: wie kann ich link und seite in zusammenhang bringen?
wäre für hilfe dankbar.
gruß rené