Ankündigung

Einklappen
Keine Ankündigung bisher.

Array Reihenfolge ändern über Index in for schleife

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Array Reihenfolge ändern über Index in for schleife

    Für ein Redesign mit Wordpress sollen die Kategorien die Navigation darstellen. 7 Stück gibt es.
    Wordpress liefert die offenbar nach Alphabet aus. Die Redaktion Wünscht „Aktuelles“ vor „Aktionen“.
    Wenn ich mit print_r ( get_categories() ); die „get_categories()“ ausgeben lasse kommt da echt viel Zeug und alle haben einen [0] Index. Ich möchte also [0] mit [1] tauschen.
    Googlen wie man nen array Sortiert: http://php.net/manual/de/function.usort.php
    Usort() als Funktion sieht gut aus doch ich hab keine Idee wie ich dem jetzt eine (feste) Sortierreihenfolge als Bedingung deklarieren kann =(

    PHP-Code:
    <div id="categories" class="margin-bottom-60 lala">

    <?php #order by [ Aktionen, Aktuelles, box, Produkte, Magazin, Produkkttests, Rezepte ]
    /*
    tausche "Aktionen", "Aktuelles" vertauschen
    [1] - Aktuelles
    [0] - Aktionen
    [2] - box
    ....
    [8] - Rezepte
    */ 
    ?>
      <ul>
          
        <li class="clear li-marker"><img class="left" alt="Aktuelles" src=""><a href="http://localhost/redesign-2015/?cat=1">Aktuelles</a> </li>
        <li class="clear li-marker"><img class="left" alt="Box" src=""><a href="http://localhost/redesign-2015/?cat=350">Box</a> </li>
        <li class="clear li-marker"><img class="left" alt="Neue Produkte" src=""><a href="http://localhost/redesign-2015/?cat=1801">Neue Produkte</a> </li>
        <li class="clear li-marker"><img class="left" alt="Magazin" src=""><a href="http://localhost/redesign-2015/?cat=564">Magazin</a> </li>
        <li class="clear li-marker"><img class="left" alt="Produkttests" src=""><a href="http://localhost/redesign-2015/?cat=37">Produkttests</a> </li>
        <li class="clear li-marker"><img class="left" alt="Rezepte" src=""><a href="http://localhost/redesign-2015/?cat=334">Rezepte</a> </li>
        
      </ul>
     
    </div>
    Was im PHP Code steht der in sidebar.php ist
    PHP-Code:
    <div class="margin-bottom-60 lala" id="categories">

      <ul id="getit">
      <?php foreach(get_categories() as $category) { ?>
        <li class="clear li-marker">
          <?php echo '<img class="left" src="'get_template_directory_uri() .'/images/kategorie-'$category->slug .'.jpg" alt="' $category->cat_name '" />'?>
          <a href="<?php echo get_term_linkintval($category->term_id), $category->taxonomy ?>"><?php echo $category->name ?></a>
        </li>
      <?php ?>

      <?php echo'was weißt du?'?>
      <?php
          print_r 
    get_categories() );
      
    ?>
      </ul>

    </div>
    Klar! Ich kann das auch „plain“ mit HTML reinschreiben, doch das geht mir gegen den Strich. Wozu hab ich dann ein CMS? Kann ich auch gleich jedes Mal eine neue *.html Seite mit FTP hochladen wir vor 20 Jahren… Möchte auch was dazulernen wenn es denn Möglich ist.
    Der der PHP kann hat das Unternehmen verlassen und der Andere ist nur Halbtags da und macht kein PHP sondern RubyOnRails.
    Plain nur wenn es nicht anders geht…

  • #2
    Du bekommst bei get_categories() ein Array von Objekten zurück.

    Einfach:

    PHP-Code:
    $categories get_categories();
    $categorieTmp $categories[2];
    $categories[2] = $categories[3];
    $categories[3] = $categorieTmp
    Das vertauscht die 2. und 3. Kategorie.
    "Software is like Sex, it's best if it's free." - Linus Torvalds

    Kommentar


    • #3
      die Kategorien die Navigation darstellen ... Wordpress liefert die offenbar nach Alphabet aus.
      Kann man im Wordpress die Reihenfolge der Navipunkte echt nicht selbst definieren? (Adminpanel) Eine Main-Nav die immer fix alpahbetisch ist ist ja doof.
      The string "()()" is not palindrom but the String "())(" is.

      Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
      PHP.de Wissenssammlung | Kein Support per PN

      Kommentar


      • #4
        Zitat von hausl Beitrag anzeigen

        Kann man im Wordpress die Reihenfolge der Navipunkte echt nicht selbst definieren? (Adminpanel) Eine Main-Nav die immer fix alpahbetisch ist ist ja doof.
        Doch, man kann in Wordpress ein Menu erstellen und beliebige Kategorien hinzufügen und die Reihenfolge manuell setzen.
        Über wp_nav_menu() kann man sich das erstelle Menu dann ausgeben lassen.

        Diesen Weg empfehle ich auch. Wie der TE gemerkt hat, ist get_categories() in diesem Fall nicht gerade flexibel.

        Kommentar


        • #5
          Zitat von JaMa Beitrag anzeigen
          Du bekommst bei get_categories() ein Array von Objekten zurück.

          Einfach:

          PHP-Code:
          $categories get_categories();
          $categorieTmp $categories[2];
          $categories[2] = $categories[3];
          $categories[3] = $categorieTmp
          Das vertauscht die 2. und 3. Kategorie.
          Danke, ich versuchs mal.

          Kommentar


          • #6
            Zitat von hausl Beitrag anzeigen

            Kann man im Wordpress die Reihenfolge der Navipunkte echt nicht selbst definieren? (Adminpanel) Eine Main-Nav die immer fix alpahbetisch ist ist ja doof.
            Of course

            PHP-Code:
            <?php wp_nav_menu(array(
                       
            'container' => false,
                       
            'menu' => 'menu-footer-1',
                       
            'menu_id' => 'menu-footer-1',
                       
            'menu_class' => 'unstyled-list',
                       
            'theme_location' => 'sidebar'
                      
            )); ?>
            So z.B. ABER die Vorgabe ist das dort ein kleines Bild vorsteht. Das habe ich versucht mit einem Plugin hinzubekomemn, gescheitert. Daher hat der Entwickler vermutlich das so gelöst.

            Kommentar


            • #7
              Zitat von simhof Beitrag anzeigen

              Doch, man kann in Wordpress ein Menu erstellen und beliebige Kategorien hinzufügen und die Reihenfolge manuell setzen.
              Über wp_nav_menu() kann man sich das erstelle Menu dann ausgeben lassen.

              Diesen Weg empfehle ich auch. Wie der TE gemerkt hat, ist get_categories() in diesem Fall nicht gerade flexibel.
              Siehe meinen Post darüber. Die Categories bleiben außerdem immer gleich. So die Idee zumindest...

              Kommentar

              Lädt...
              X