Fügen Sie jedem Post eine hinzu, um zusätzlichen Seitenlink (und statischen Inhalt) zu erzwingen

Ich versuche, entweder den Inhalt oder den $post->post_content direkt zu beeinflussen, bevor der Beitrag von der function wp_link_pages() gelesen wird, um ein wenig statischen Text oder Javascript nach dem Inhalt jedes wp_link_pages() auf meiner Site zu injizieren.

Ich habe versucht, es mit einem add_filter in der functions.php meines Themas add_filter , aber das funktioniert nicht wie gewünscht. Mit einem Filter auf der Thema-function, bekomme ich den statischen Inhalt auf jeder Seite, im Gegensatz zu einer “Mulligan” Nth + 1 Seite.

Zum Beispiel, wenn mein Post 8 “natürliche” Seiten hat, möchte ich eine 9. Seite, die ein statisches Panel mit Teilen-Buttons oder ähnlichem ist.

Wie kann ich die wp_link_pages() “tricksen”, um zu denken, dass es mehr auf dem Post gibt als das, was ich als Autor im Dashboard eingegeben habe?

Solutions Collecting From Web of "Fügen Sie jedem Post eine hinzu, um zusätzlichen Seitenlink (und statischen Inhalt) zu erzwingen"

Die mehrseitige Einstellung geschieht nicht über eine Abfrage, sondern nur über globale Variablen in der function setup_postdata() .

Das einzige, was Sie brauchen, ist eine globale Variable zu erhöhen und Ihren statischen Inhalt hinzuzufügen, indem Sie den Haken 'the_post' , der am Ende dieser function ausgetriggers wird.

Etwas wie:

 add_action('the_post', function(WP_Post $post) { global $multipage, $numpages, $pages; $multipage = 1; // ensure post is considered multipage: needed for single page posts $numpages++; // increment number of pages $pages[] = my_last_page_content($post); // set the static content for last page }); 

Es gibt keine Notwendigkeit für etwas anderes, weil wp_link_pages() verstehen wird, dass es die gespottete Anzahl von Seiten für den aktuellen Post gibt und entsprechend handeln wird.

Wie Sie sehen können, habe ich eine benutzerdefinierte my_last_page_content function verwendet, um Inhalt für die letzte Seite zu erstellen. Ich habe dieser function das post-Objekt übergeben, weil Sie vielleicht Ihren “gefälschten” Seiteninhalt erstellen müssen, um zB Posttitel oder Permalink zu erhalten.

Unten ein grobes Beispiel:

 function my_last_page_content(WP_Post $post) { $format = ''; $url = 'https://twitter.com/home?status=' . urlencode(__('New blog post: ', 'txtdomain')) . '%22' . urlencode(apply_filters('the_title', $post->post_title)) . '%22' . '%20' . urlencode(get_permalink($post)); return sprintf($format, $url, esc_html__('Share on Twitter', 'txtdomain') ); }