Weitere Informationen und den Download findest du auf der offiziellen Anlaufstelle de.wordpress.org
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13
  1. #1
    PostRank: 5
    Registriert seit
    10.06.2010
    Ort
    Deutsch Evern
    Beiträge
    392

    Ausgabe in ACF steuern

    Hallo zusammen!

    Ich habe mir in ACF eine Funktion gebaut für die Ausgabe von Kontaktdaten, die ich aus einem Auswahlfeld hole.

    Die sieht nun so aus:
    PHP-Code:
    function Firmendetails() {
            
    $company get_field('firma');
            
    $company explode('_'$company);
                      If (
    $company[0] != 'keine') {        
                            echo 
    '<strong>Kontaktdaten:</strong>';
                            echo 
    '<br />'$company[0];        
                            if (
    $company[1] != '-') {            
                                        echo 
    '<br />' $company[1]; 
                                        }        
                                               else {            
                                                           echo 
    '<br />'$company[1];
                                                      }
                            echo 
    '<br />'$company[3] .' ' $company[4];
                            echo 
    '<br />'$company[5];    
                        if (
    $company[6] != '-') {
                            echo 
    '<br />' '<a href="http://'$company[6] . '">' $company[6] . '</a><br /><br />';
                        }
                            else {
                                         echo 
    "<br />" .  $company[6] . '<br /><br />';
                           }    
    }

    Das Problem dabei ist, das, wenn company[1] (oder eine der anderen Variablen) nur ein Füllzeichen ist (also das -), alle nachfolgenden Felder um eins nach unten rutschen. Sprich $company[3] wäre dann company[2]

    Weiß jemand wie ich das verhindern kann?
    themenfreund.de - Der tägliche Wahnwitz


  2. #2
    PostRank: 10 Avatar von danielgoehr
    Registriert seit
    13.07.2016
    Ort
    Berlin
    Beiträge
    1.932
    Ich wüsste nicht, wie das möglich sein sollte. Ein Explode "weiß" ja nicht, wie viele Werte du in deinem Array erwartest.

    Warum machst du es überhaupt so? Wäre es nicht naheliegender, die Kontaktdaten als einzelne Felder zu erstellen? Weshalb der Umweg über das einzelne Feld und den Explode?

    Alternativ könntest du mit for each durch dein Array loopen. Dann wäre die Länge des Arrays egal. Dann bräuchtest du aber mindestens ein soearates Feld für die URL. Oder du versuchst du URL zur "erkennen". Dann wird es aber noch mehr um die Ecke gedacht

    Oder: Leg die Kontaktdaten einfach als WYSIWYG Feld an und formatier' es gleich im Backend. Dann musst du das Feld einfach nur noch ausgeben.

  3. #3
    PostRank: 10 Avatar von b3317133
    Registriert seit
    21.11.2014
    Beiträge
    2.280
    Poste doch mal Daten, bei denen das passiert und welche, bei denen das nicht passiert.

    Und sauber(er) formatierten Quellcode, wenn es möglich ist.

  4. #4
    PostRank: 5
    Registriert seit
    10.06.2010
    Ort
    Deutsch Evern
    Beiträge
    392
    Zitat Zitat von danielgoehr Beitrag anzeigen
    Warum machst du es überhaupt so? Wäre es nicht naheliegender, die Kontaktdaten als einzelne Felder zu erstellen? Weshalb der Umweg über das einzelne Feld und den Explode?
    Ganz einfach aus Bequemlichkeit - ehrlich gesagt.

    Aber ich denke, mit einzelnen Kontaktfeldern ist es wohl am einfachsten, da kann dann (glaube ich) auch mal ein Feld leer bleiben, ohne das sich die ganze Ansicht verschiebt.
    themenfreund.de - Der tägliche Wahnwitz

  5. #5
    PostRank: 10 Avatar von danielgoehr
    Registriert seit
    13.07.2016
    Ort
    Berlin
    Beiträge
    1.932
    Zitat Zitat von Marcuss Beitrag anzeigen
    Ganz einfach aus Bequemlichkeit - ehrlich gesagt.

    Aber ich denke, mit einzelnen Kontaktfeldern ist es wohl am einfachsten, da kann dann (glaube ich) auch mal ein Feld leer bleiben, ohne das sich die ganze Ansicht verschiebt.
    Ich glaube sogar, die einfachste/sauberste Variante wäre das WYSIWYG Feld.

    Da bist du komplett flexibel und hast das Markup gleich direkt im Feld.

  6. #6
    PostRank: 10 Avatar von b3317133
    Registriert seit
    21.11.2014
    Beiträge
    2.280
    Zitat Zitat von Marcuss Beitrag anzeigen
    .. da kann dann (glaube ich) auch mal ein Feld leer bleiben, ohne das sich die ganze Ansicht verschiebt.
    Mit entspr. korrekten Daten in einem Auswahlfeld verschiebt sich auch nichts. Poste doch mal die Daten, bei denen das bei Dir passiert und die, bei denen das nicht passiert.

  7. #7
    PostRank: 5
    Registriert seit
    10.06.2010
    Ort
    Deutsch Evern
    Beiträge
    392
    Weiß jemand, wie man vorhandene Datensätze von ACF löschen kann? Ich habe die Felder-Gruppe jetzt schon mehrfach gelöscht, aber er zieht sich die Daten immer wieder für die einzelnen Bezeichnungen. Und den Ort will er jetzt gar nicht mehr speichern im Post.
    themenfreund.de - Der tägliche Wahnwitz

  8. #8
    PostRank: 5
    Registriert seit
    10.06.2010
    Ort
    Deutsch Evern
    Beiträge
    392
    Zitat Zitat von b3317133 Beitrag anzeigen
    Poste doch mal Daten, bei denen das passiert und welche, bei denen das nicht passiert.

    Und sauber(er) formatierten Quellcode, wenn es möglich ist.
    Beispiel an diesem Code:

    PHP-Code:
    function Firmendetails() { 
           
    $company get_field('firma');
            
    $company explode('_'$company);
            echo 
    '<br />'$company[0];
            echo 
    '<br />'$company[1];
            echo 
    '<br />'$company[2];                
            echo 
    '<br />'$company[3];                
            echo 
    '<br />'$company[4];               
            echo 
    '<br />'$company[5];                
            echo 
    '<br />'$company[6];                    
            if (
    $company[7] != '-') { 
                   echo 
    '<br />' '<a href="http://'$company[7] . '">' $company[7] . '</a><br /><br />';
                }
                else {
                      echo 
    "<br />" .  $company[8] . '<br /><br />';
                     }

    Dann ergibt
    Stadt_Bauamt_Frau J. L._Straße_12345_Ort_0 00 00 / 000 00_domain.de_00.00000;00.00000_00.00000, 00.00000
    folgende Ausgabe:

    Stadt
    Bauamt
    Frau J. L.
    Straße
    12345 Ort
    0 00 00 / 000 00
    domain.de
    Aber bei diesem Datensatz:
    Feuerwehr Ort_straße_12345_Ort_-_-00.00000;00.00000_00.00000, 00.00000
    ergibt

    Feuerwehr Ort
    straße
    12345 Ort
    -
    -53.35117;00.00000
    00.00000, 00.00000
    Geändert von Marcuss (10.01.2018 um 21:48 Uhr)
    themenfreund.de - Der tägliche Wahnwitz

  9. #9
    PostRank: 10 Avatar von b3317133
    Registriert seit
    21.11.2014
    Beiträge
    2.280
    Die Datensätze haben nicht das gleiche Format.

    Im ersten Datensatz ist z.B. die Strasse im 4. Feld, im zweiten Datensatz ist die Strasse im 2. Feld, es fehlen also offenbar "leere" Felder davor, hier beispielhaft in rot eingefügt.

    Feuerwehr Ort_-_-_straße_12345_Ort_-_-00.00000;00.00000_00.00000, 00.00000

  10. #10
    PostRank: 5
    Registriert seit
    10.06.2010
    Ort
    Deutsch Evern
    Beiträge
    392
    Da im ersten Datensatz z. B. die Abteilung und die Ansprechpartnerin enthalten sind, die im 2. nicht vorhanden sind, rutschen im zweiten Datensatz die Felder vor. Und wie ich das verhindern kann, ohne da schreiben zu müssen 'keine Angabe' oder ähnliches, das weiß ich halt nicht
    themenfreund.de - Der tägliche Wahnwitz

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •