Beiträge von Grega

    Wie es scheint, geht es mit dieser kleinen Änderung in der functions.php (Link). Ich habe es einfach ans Ende der functions.php gehängt und es klappt. :-) Viel Spaß.

    Wobei ... Ich habe da doch noch eine Frage. Der Filter, den ich in die functions.php eingefügt habe, ist nun sehr restriktiv und "aggressiv". Dieser Filter beschneidet alle tag-Listen auf vier (oder welche Zahl auch immer man angibt). Gewünscht war ja eigentlich nur auf der index.php, nicht aber in den einzelnen Artikeln (single.php). Jemand eine Idee, wie man das nur auf einer Seite anwendet?

    Moin.

    Ich setze

    PHP
    <?php the_tags('<ul><li>','</li><li>','</li></ul>'); ?>

    u.a. auf meiner Startseite ein. Es werden mir alle dem Artikel zugewiesenen Tags in einer Liste dargestellt. Gut. Aber kann the_tags auch eine Reduzierung der Ausgabe? Also wenn ein Artikel z.B. zehn Tags hat, ich aber nur vier auf der Startseite angezeigt haben möchte? Meiner Meinung nach kann the_tags - wie oben zu sehen - nur dieses before, in der Mitte und after. Ich fand auf der Suche nach einer Lösung einen Ansatz mit übergebenen Argumenten - allerdings nicht in the_tags, sondern get_the_tags() ... Frage also noch einmal: Kann man in the_tags eine Limitierung der ausgegebenen Tags erreichen?

    Moin

    Ich habe das Bootstrap-Theme von Rachel Baker benutzt und modifiziert. Mir geht es um die Breadcrum-Funktion bootstrapwp_breadcrumbs in functions.php

    Es wird im Endeffekt die Breadcrumb fast richtig dargestellt. Es gibt im Prinzip in single.php nur Home > Kategorie > Seitentitel. Die Breadcrumb soll als Liste dargestellt werden. Also jeder Link in einem LI mit Link etc. Nun wird seltsamerweise das Home und der Seitentitel richtig dargestellt, aber die Kategorie wird nur als Link angezeigt. Ohne LI. Wo zum Teufel wird die Kategorie ermittelt? In Zeile 429 steht (leicht modifiziert vom Original):

    PHP
    if ( is_category() ) {
          global $wp_query;
          $cat_obj = $wp_query->get_queried_object();
          $thisCat = $cat_obj->term_id;
          $thisCat = get_category($thisCat);
          $parentCat = get_category($thisCat->parent);
          if ($thisCat->parent != 0) (get_category_parents($parentCat, TRUE, ' '));
          echo $before . 'Archive by category "' . single_cat_title('', false) . '"' . $after;
        }


    Bei [COLOR="#0000FF"]Home > Archive by category "LALA"[/COLOR] funktioniert die Breadcrumb. Aber wenn man auf einem Artikel ist, wird die Kategorie nur als Link ohne besagtes LI angezeigt. Wo sollte das Listelement herkommen?

    Ich wage die Frage kaum zu stellen: Bin ich blind?

    Verdammt. Es gibt alle möglichen Funktionen für Arrays, aber nicht das, was ich benötige. In der Regel werden neue Werte hinzugefügt (array_push), aber ich möchte den (String)Werten einen String hinzufügen - wenn auch nicht überall. Wenn man

    PHP
    foreach($meinfoo as $meinfoo) { 
       echo $meinfoo ." und "; 
     }


    schreibt, kommt man der Sache ja schon nahe, nur soll das letzte Element wiederum kein " und " haben. Oder sollte man die Ausgabe in ein neues Array überführen? Das wird durch ein einziger Kuddelmuddel ... Kann doch eigentlich nicht sein, dass so eine blöde Aufgabenstellung noch nie vorkam? :-?

    Moin

    Ich habe ein benutzerdefiniertes Feld namens foo. Foo kann mehrfach vorhanden sein. Wenn es einmal im Artikel ist, soll es auch nur einmal ausgegeben werden. Wenn es mehrfach vorhanden ist, dann sollen diese Werte ausgegeben werden - z.B. mit einem "und" getrennt. Also: foo1 und foo2 und foo3.

    Soweit geht es:

    PHP
    $meinfoo = get_post_meta($post->ID, 'foo', false);
    if (count($meinfoo)<="1") {
     echo $meinfoo[0];
     } elseif (count($meinfoo)>="1") {
      foreach($meinfoo as $meinfoo) {
       echo $meinfoo;
     }
    }

    So wie es da oben steht, gibt er entweder foo1 aus, wenn nur ein Wert vorhanden ist. Was okay ist. Wenn foo aber mehrere Werte hat, dann gibt er "foo1foo2foo3" aus. Wie bekomme ich das " und " dazu?

    Ist bestimmt einfach, ich komme nur nicht drauf. *schäm*

    Moin

    Ich habe ein custom_field namens microphoto. Innerhalb des Loops kann ich es bekanntlich so ansprechen:

    PHP
    <?php echo get_post_meta($post->ID, 'microphoto', true); ?>

    Nun möchte ich das in einer Funktion benutzen. Derzeit schaut es so aus:

    Die Werte für get_the_date liest er aus, aber auf den ersten Wert, den ich mit

    Code
    %1$s

    ansprechen will, komme ich nicht. Der wird nicht ausgelesen. Wie kombiniert man custom_field in einer function? URL und NAME sollen dann auch conditional tags sein. Aber wenn man den einen hat, sollten die beiden anderen auch kein Problem mehr sein. :-)

    G
    G

    Ah, ich habe es jetzt so gemacht. In dem Template category-template.php habe ich in Zeile 207 (in der Funktion get_the_category_list) habe ich den Link so erweitert:

    PHP
    $thelist .= '<a href="' . esc_url( get_category_link( $category->term_id ) ) . '" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $category->name ) ) . '" ' . $rel . ' class="tagcat-'. $category->cat_ID.'">' . $category->name.'</a>';

    Das ergibt ausgerendert dann zwar einen unschönen Class-Selector (tagcat-3 oder tagcat-12, etc., aber immerhin habe ich etwas zum "angreifen".

    Moin

    Mit

    PHP
    <?php the_category(' '); ?>

    bekomme ich die Tags eines Artikels angezeigt. Schön und gut. Es werden Links zu den jeweiligen Kategorien erstellt. Wie kann ich die Links unterschiedlich gestalten? Ich müsste also dem Link zur Kategorie "Obst" z.B. einen Class-Selector "obstklasse" mitgeben, den ich dann zum Stylen benutzen kann. Entsprechend hätte die Kategorie "Spielzeug" z.B. einen Class-Selector "spielzeugklasse" . Frage ist also die: Wie kann man das umsetzen? Pro Kategorie-Link noch einen individuellen Class-Selector hinzufügen? Sähe dann etwa so aus:

    Code
    <a href="http://domain/category/obst/" title="Alle Artikel in Obst ansehen" rel="category tag" class="obstklasse">Obst</a>

    Grüße

    Beim Anlegen eines Beitrags eine Kategorie anlegen. Check.
    Eine Liste der Kategorien anzeigen lassen und diese als "Filter" benutzen. Check.

    Sind ja auch Funktionen, die von Haus aus mitkommen.

    Ich möchte mehr Kategorien.

    Szenario: In den allgemeinen Kategorien vergebe ich z.B. Obst, Gemüse, Spielzeug. Nun möchte ich auch noch eine Art Filtermechanismus (Kategorien sind ja im Grunde ein Filter) haben, die nach sagen wir Farben sortiert. Also Blau, Gelb, Rot, etc.

    Mein Ansatz war der, das über Custom Fields zu lösen. Also jedem Beitrag einen Wert für "farbe" mitgeben. Dann so was:

    Das gibt mir so viele LIs aus, wie ich Farben habe. Und es ist immer die erste Farbe (Blau). So soll es natürlich nicht sein. ;-) Mal davon abgesehen, dass es noch keine Links zu einer Art Übersicht sind ...

    Welcher Ansatz ist besser für die Aufgabenstellung? Sind Custom Fields überhaupt die richtige Lösung?

    Danke für Antworten

    Ich habe das "Phänomen" schon bei zwei Blogs erlebt. Ich habe ein eigenes Theme und die Index-Seite, die normalerweise die Beiträge (10 oder wie viel eingestellt sind) beinhaltet, wurde so modifiziert, dass nur Excerpts, ein Bild und ein Weiterlink angezeigt wird. Sollte eigentlich alles kein Problem sein, aber wenn ich nach den Seiten z.B. mit Google suche, bekomme ich lediglich den Titel und den Domainnamen angezeigt. Kein Auszug aus der Seite.

    Bei anderen Blogs ist es so, dass die Suchmaschinen regelmäßig vorbeischauen und die ersten Sätze eines auf der Startseite befindlichen Artikels in den Suchergebnissen anzeigen. Das ist hier nicht der Fall.

    Vielleicht liegt es daran, dass ich über den Auszügen auf der Startseite einen einleitenden, statischen Text habe? Kann doch nicht sein, oder?

    Die Domain selber ist schon seit Jahren im Netz und wurde früher - vor der Umstellung auf WP - auch fröhlich indiziert. Jetzt nicht mehr. :(

    Ich habe durch den Einsatz von verschiedenen Plugins (s.u.) meine Admin-Oberfläche soweit verändert, dass ich mehr Eingabefelder habe. Also nicht nur ein großes Feld für einen Blogeintrag, sondern noch viele weitere Input-Fields, die dann für einen Beitrag auf der Seite entsprechend eingebunden werden. Also so was wie ein Entstehungsdatum, Teilnehmer, Beschreibung, Meinung, Wertung etc. Das läuft auch ganz gut. Allerdings scheint es, dass für jede Änderung, die ich an einem Beitrag vornehme, ein neuer Datenbank-Eintrag generiert wird! :confused: :oops:

    Soll heißen: Ich lege einen Beitrag an und ich bekomme einen Eintrag mit individueller ID. Jetzt füge ich z.B. ein Bild hinzu oder korrigiere einen Tippfehler, speichere den selben Beitrag, aber es wird ein neuer Eintrag mit neuer ID - und der Änderung - generiert. Das kann doch eigentlich nicht sein, oder? Liegt es an den Plugins? Wie kann man das umgehen? Irgendwann läuft die Datenbank doch ganz schön volll ... :-(

    Verwendete Plugins:

    • Custom Write Panel
    • Get Custom Field Values
    • Get User Custom Field Values
    • rc:custom_field_gui

    Um diesen Beitrag noch einmal separat zu behandeln: Ich habe mit the_excerpt das Exzerpt (oder den Auszug) bekommen. In der formatting.php habe ich bei Zeile 1704 die Auslassungspunkte in einen Weiter-Link geändert.

    Nun bekomme ich so was in der Art ausgegeben:

    HTML
    <p>  Erste Zeile</p>
    <p>Zweite Zeile<br />
    Die zweite Zeile geht nach dem Break weiter</p>
    <p>Dann hier der dritte Absatz mit etwas mehr Blabla-Text. Nach dem Blabla-Text kommt, wie versprochen, der Weiter-Link. [<a href=http://domain/seite/>weiter ...</a>]</p>

    Jetzt sollen aber die ersten beiden Absätze nicht auftauchen. Das ist Zusatz-Info, die nicht angezeigt werden soll. Ich habe in der functions.php des Themes folgendes stehen:

    PHP
    <?php
    function letzter_absatz(){
    $beschnitt = the_excerpt(); 
    preg_match_all( "/<p>(.*)<\/p>/siU", $beschnitt, $treffer ); 
    $dritter = array_pop( $treffer[0] ); 
    return $dritter; 
    }
    ?>


    Dabei passiert aber nichts. Es werden weiterhin alle Absätze angezeigt. Wo liegt der Fehler?

    (Die Funktion funktioniert "solo" in einem einfachen PHP-Skript, das zu Testzwecken auf dem lokalen Server läuft, wobei $beschnitt das Textbeispiel von oben ist. - Ich weiß übrigens nicht, wo das Leerzeichen hinter dem ersten <p>-Tag herkommt... :confused:)

    So, ich bin ein Schritt weiter. Ich möchte also aus dem Excerpt etwas entfernen. Der A-Tag war übrigens nicht ungewollt. Der soll somit drin bleiben. :-)

    Die Situation ist also diese: Drei Absätze, wobei der letzte stehen bleiben soll.

    Die Lösung soweit: Anstatt [COLOR="Blue"]the_excerpt()[/COLOR] einfach ausgeben zu lassen, habe ich das hier gemacht:

    PHP
    $beschnitt = the_excerpt();
    preg_match_all( "/<p>(.*)<\/p>/siU", $beschnitt, $treffer );
    $letzter_absatz = array_pop( $treffer[0] );
    echo $letzter_absatz;


    Da passiert aber nichts. Es wird weiterhin der gesamte Inhalt aus [COLOR="blue"]the_excerpt[/COLOR] angezeigt. Testet man die Funktion auf einen 3-Absatz-Text (irgendwo weit entfernt von Wordpress, in einem einfachen PHP-Skript), funktioniert es. Aber [COLOR="blue"]the_excerpt[/COLOR] scheint sich irgendwie drüber hinwegzusetzen... Jemand eine Ahnung, warum?

    Na, da habe ich doch selber eine Frage. Vielleicht weiß jemand Rat? Ich benutze wie oben angegeben [COLOR="Blue"]the_excerpt[/COLOR]. Nun habe ich allerdings auf meinen Seiten, von denen nur der Auszug gezeigt wird, jeweils im oberen Bereich ein bisschen Text, den ich nicht auslesen lassen möchte.

    Da ist zunächst ein Link, dann kommen zwei P-Tags. Wie kann ich aus dem Excerpt das Link und P-Tags "ausschneiden"? Dabei sei gesagt: der Inhalt von A und P-Tags variiert, man kann also nicht einfach eine bestimmte Anzahl an Buchstaben oder Wörtern ausschneiden. Weiß jemand, wie man das bewerkstelligen kann? :roll:

    Na gut, wenn keiner antwortet, beende ich hiermit meine Unterhaltung mit mir selber. ;-) Die Lösung ist, dass der Listenpunkt außerhalb der while-Schleife saß. Der gehört natürlich in die while-Schleife. :roll:

    Muss also so aussehen:

    PHP
    <ul>
    <?php $page_query = new WP_Query('post_type=page&post_parent=5'); ?>
    <?php while ($page_query->have_posts()) : $page_query->the_post(); ?>
    <li>
     <a href="<?php the_permalink() ?>" title="<?php printf(__('Permanenter Link zu %s', ''), the_title_attribute('echo=0')); ?>"><?php the_title(); ?></a>
     <?php the_excerpt('den Rest lesen &raquo;'); ?>
    </li>
    <?php endwhile; ?>
    </ul>

    So. Noch Fragen? :wink: