der Inhalt(); fälschlicherweise vorheriges Öffnen davor schließen

Ich habe eine benutzerdefinierte Schleife, die einen “beliebtesten” Posts Abschnitt anzeigt. Es erstellt zuerst einen verknüpften Container ( <a href="https://wordpress.stackexchange.com/questions/288067/the-content-erroneously-closing-off-previous-opening-before-it/"> ... ) und speichert dann Daten aus dem aktuellen Post in der Schleife innerhalb dieses Containers.

Wenn der Post ein Thumbnail hat, wird das Bild if ( has_post_thumbnail() ) { the_post_thumbnail(); } ). Andernfalls führt es the_content(); im else { } Teil, in dem es einen iframe greifen und stattdessen anzeigen kann.

Aus irgendeinem Grund wird die öffnende <a href="https://wordpress.stackexchange.com/questions/288067/the-content-erroneously-closing-off-previous-opening-before-it/"> statement mit einem abschließenden -Tag zuerst geschlossen, wenn sie in den else { } <a href="https://wordpress.stackexchange.com/questions/288067/the-content-erroneously-closing-off-previous-opening-before-it/"> . Dies führt dazu, dass

und sein Inhalt nach dem Container statt innerhalb des Containers .

Weiß jemand, was genau hier passiert oder wie man es verhindern kann?

  <a href="https://wordpress.stackexchange.com/questions/288067/the-content-erroneously-closing-off-previous-opening-before-it/"> 

Solutions Collecting From Web of "der Inhalt(); fälschlicherweise vorheriges Öffnen davor schließen"

the_content () gibt wahrscheinlich einen Link wieder (oder vielleicht formatiert Ihr Browser einen automatisch).

Sie können testen, ob dies der Fall ist, anstatt the_content () zu verwenden;

verwenden

 // Get the Content of the post $postContent = get_the_content(); // Escape all the HTML $postContent = htmlentities($postContent); // Print it to screen and verify if any links are inside. print_r($postContent); 

Wenn Sie Links im Inhalt haben oder sie erwarten, versuchen Sie einfach, sie wie zu ersetzen

 // Get the Content of the post $postContent = get_the_content(); // some simple regex $postContent = preg_replace('//','',$postContent); // some more simple regex $postContent = preg_replace('/< \/a>/','',$postContent); echo $postContent; 

Der obige Code lässt alle Links als durchgestrichenen Text erscheinen, die Sie durch Unterstreichungen ersetzen könnten oder sogar mit einem Bereich, der mit cleverer Verwendung von Erfassungsgruppen verwendet werden könnte, um Klickereignisse an diese Bereiche zu binden und Sie könnten immer noch funktionale Verknüpfungen haben.