Fügen Sie benutzerdefiniertes PHP und HTML zu the_content () hinzu

Ich entwickle eine WordPress-Website zum thematischen Rahmen. In meinem Child Theme habe ich eine vollständige Seitenvorlage namens resources.php erstellt

In dieser Seitenvorlage habe ich einen benutzerdefinierten PHP-Code geschrieben, der verschiedene benutzerdefinierte Felder anzeigt, die sich auf Beiträge einer bestimmten Kategorie beziehen.

Beispielsweise :

    'research' , 'posts_per_page' => '-1' , 'order'=>'ASC') ); ?> <li class="category_nicename; echo" ";} ?> resourcelist"> name; echo" "; } ?> <a title="download" target="_blank" href="https://wordpress.stackexchange.com/questions/61110/add-custom-php-and-html-to-the-content/">

Jetzt möchte ich diese Seite nur auf Benutzer beschränken, die sich registriert haben. Ich habe ein Plugin, das dafür sorgt, zB: Seitenbeschränkung

Was Seitenbeschränkung bedeutet, ist, dass sie ersetzt, was auch immer über den Wisiwyg-Editor der Seite the_content() mit der Nachricht “Sie müssen sich einloggen”.

Die Seite wird blockiert, aber mein PHP-Code wird als Teil der Seitenvorlage ausgeführt.

Ich versuche einen Weg zu finden, meinen gesamten PHP-Code zu the_content(); hinzuzufügen the_content(); damit die Ausgabe auch durch die Nachricht ersetzt wird.

Ich stieß auf diesen Artikel, der mir den folgenden Code gab.

  <?php function demo_function( $content ) { $someHtml = '
'; $someHtml .= 'some text or code goes here'; $someHtml .= '
'; $filteredcontent = $someHtml . $content; return $filteredcontent; } add_filter( 'the_content', 'demo_function' ); //the loop goes here the_content(); ?>

Was dieser Code macht, ist, dass er den obigen HTML-Code innerhalb von the_content () hinzufügt; Also, das nächste Mal, wenn ich die Seite blockiere, wird auch der obige Inhalt blockiert. Ich will das genau so, aber mit meinem PHP-Code nicht dieses HTML.

Ich bin wirklich nah dran, das zu knacken, aber wegen der obigen Syntax hängt das HTML an die Variable, ich kann nicht so viele Zeilen meines PHP-Codes über diese Methode anhängen.

Bitte hilf mir. Wenn Sie irgendwelche Fragen haben, zögern Sie nicht zu fragen.

Solutions Collecting From Web of "Fügen Sie benutzerdefiniertes PHP und HTML zu the_content () hinzu"

Ich bin mir nicht sicher, ob Sie Ihre Frage verstehen, aber warum verwenden Sie diese Logik nicht in Ihrer function?

 if ( is_user_logged_in() ) { echo 'Welcome, registered user!'; do your stuff PHP and inject in content... } else { return standard content or block it; } 

und vielleicht zusätzliche test um mit current_user_can( $capability ) zu begrenzen, und so weiter …