• Bei einem Projekt an dem ich arbeite, geht es um die Anzeige von Grafiken wenn bestimmte Bedingungen erfüllt sind. Zu diesem Zweck arbeite ich mit einem Shortcode in einen anderen Shortcode. Der äußere Shortcode prüft den Status eines Kunden und der innere Shortcode stellt einen passenden Code zum Status bereit (Wenn vorhanden).

    Aussehen tut es in etwa so(nur ein kleiner Ausschnitt, kann auch den ganzen Code-Auschnitt zeigen):

    if($wpdb->num_rows == 1){
    	return do_shortcode($content);
    }else{
    	return "";
    }

    Die Shortcode-Struktur ist dementsprechend in etwa so: [Äußerer Shortcode]HTML[Innerer Shortcode]HTML[/Äußerer Shortcode]

    Mein Hauptproblem ist, dass das mit HTML Tags dargestellte Bild selbst dann angezeigt wird, wenn der innere Shortcode keinen passenden Code zum Status hat oder selbst wenn der Kunde den entsprechenden Status nicht hat, aber dennoch zu der Veranstaltung zählt. Was müsste also in der else-Anweisung stehen, damit die HTML Bilder zwischen Äußerem und Innerem Shortcode nicht angezeigt werden?

Ansicht von 2 Antworten – 1 bis 2 (von insgesamt 2)
  • Fünf Zeilen Code und eine ganze Reihe von Gedanken dazu …

    Du möchtest prüfen, ob die Bedingung $wpdb->num_rows == 1 erfüllt ist (was ist bei 2 Einträgen?) und nur dann soll deine Funktion etwas zurückgeben. Wofür dann das else{ return ""; }?

    Du verwendest do_shortcode(), also eine Funktion zur Ausführung eines Shortcodes. Der Shortcode rendert eine Funktion. Wieso rufst du nicht gleich die Funktion auf?

    Nehmen wir an, es gibt ein add_shortcode( 'dings', 'output_dings_shortcode'), dann kannst du doch deinen Code so kürzen:

    if($wpdb->num_rows == 1){
    	output_dings_shortcode();
    }

    Was müsste also in der else-Anweisung stehen, damit die HTML Bilder zwischen Äußerem und Innerem Shortcode nicht angezeigt werden?

    Das bezeichnet man auch als Kapitänssyndrom: Du stellst eine Frage, die wir nicht beantworten können, weil uns wesentliche Informationen fehlen.

    Davon abgesehen sprengt das aber auch einen Anwendungs-Support. Fragen zur Entwicklung sind auf https://wordpress.stackexchange.com/ besser aufgehoben.

    Thread-Starter azelia89

    (@azelia89)

    Vielen Dank, meine Frage war wirklich kurz gefasst. Ich habe nun eine ausführlichere Frage bei stackexchange gestellt. Hier der Link, falls Jemand dort Antworten möchte.

    https://wordpress.stackexchange.com/questions/393281/shortcode-in-shortcode-html-graphics-and-pictures

    Vielen Dank nochmal.

Ansicht von 2 Antworten – 1 bis 2 (von insgesamt 2)
  • Das Thema „Shortcodes mit HTML Bildern“ ist für neue Antworten geschlossen.