Forensis Virtualis: WordPress
Posts mit dem Label WordPress werden angezeigt. Alle Posts anzeigen
Posts mit dem Label WordPress werden angezeigt. Alle Posts anzeigen

Sonntag, 11. April 2021

Wordpress Themes: "Continue Reading" anpassen

In den Themes, die wir gern benutzen (Hueman, PEN etc.) ist der Button "Weiterlesen" oft noch mit "Continue Reading" vorbelegt. 

Um das zu ändern, in die functions.php (Theme-Editor) schauen, dort suchen nach "continue reading" und anpassen.

Im Theme "PEN" muss man noch eine Ebene tiefer gehen, hier ist die functions.php sehr ordentlich in einzelne, inkludierte Bereiche unterteilt. Der "continue reading" Ausdruck liegt hier dann in der Datei include/content.php

Und manchmal muss man NOCH tiefer einsteigen ... eben je nach Theme oder individueller Anpassung. Dazu gibt es einen guten weiterführenden Artikel u.a. hier:


Freitag, 2. April 2021

WordPress: eigene Felder definieren (Custom Fields)

Im Artikel "WordPress Theme Hueman erweitern" ging es bereits um eigene, feste Felder über und unter dem eigentlichen Text eines Blog-Beitrags. Das war aber noch nicht "handlich" genug und außerdem galt das nur für einen immer gleichen, also "statischen" Text. 

Variabler ist die Lösung mittels sog. "eigener Felder" (Custom Fields) in WordPress. 

Um bei unserem Beispiel zu bleiben: wir möchten auf unserem Blog einen Link zu unserer Facebook-Seite haben. Und wenn der Blogbeitrag auf Facebook gepostet ist, dann soll das natürlich der direkte Link zu genau dem passenden Facebook-Posting sein. Und das geht bspw. so:

Facebook: Link zum Posting mittels "Custom Fields"
"Custom Fields" bieten die Möglichkeit, Wordpress mit individuellen "Funktionsfeldern" zu erweitern. Ein sehr gutes Plugin dafür ist "Advanced Custom Field". Damit habe ich auf einem unserer Blogs die Möglichkeit geschaffen, den direkten Link zum entsprechend Posting auf der dazugehörigen Facebook-Seite einzubauen:

1. Installation
Das Plugin Advanced Custom Fields installiert und aktiviert (es erscheint dann in der Menüleiste des WP Adminbereichs mit einem eigenen Punkt "Individuelle Felder".

2. Aktivierung und Einrichtung
Darin (also in Advanced Custom Fields) ein Feld namens "Facebooklink" angelegt und im WP Editor aktiviert. Jetzt passiert erstmal noch nichts. Das Feld existiert und kann im Editor benutzt werden, sonst passiert weiter nichts, denn unser Theme "kennt" dieses Feld ja noch nicht. 

3. Theme-Anpassung (Basis-Theme: Hueman)

Die allgemeine Anleitung zur Nutzung von Advanced Custom Fields im eigenen Theme ist hier zu finden: https://www.advancedcustomfields.com/resources/adding-fields-posts/

Der Einbau ist ganz einfach, beides kann hier in einer Datei erfolgen (die functions.php muss also nicht, wie im vorherigen Artikel beschrieben, angefasst werden):

Design > Theme Editor > tmpl/single-tmpl.php
Hierin über dieser Zeile ...
<?php hu_get_template_part('parts/single-heading'); ?>
... sowas einfügen:

<!-- Advanced Custom Fields: Facebooklink TOP / Start -->
<div style='background-color:#F4F4F4;color:#000000;padding-left:5px;padding-right:5px;font-style:italic;'>
Deine Meinung oder Feedback? Diskutiere fair und freundlich direkt auf &nbsp;
<?php 
$fblink = get_field('Facebooklink'); 
if( $fblink ): $fblink = $fblink;
else: $fblink = "https://www.facebook.com/WirHabenDieWahl/";
endif;
?>
<a href='<?php echo $fblink; ?>' style='color:#dd9933;font-weight:bold;'>&rarr; Facebook</a>
</div>
<!-- Advanced Custom Fields: Facebooklink TOP / End -->
  
<!-- Advanced Custom Fields: Facebooklink BOTTOM / Start -->
<?php
function string_after_the_content($content) {

$fblink2 = get_field('Facebooklink'); 
if( $fblink2 ): $fblink2 = $fblink2;
else: $fblink2 = "https://www.facebook.com/WirHabenDieWahl/";
endif;
return $content . "<div style='background-color:#F4F4F4;color:000000;padding-left:5px;padding-right:5px;font-style:italic;font-size:90%;'>Deine Meinung oder Feedback? Diskutiere fair und freundlich direkt auf <a href='" . $fblink2 . "' style='color:dd9933;font-weight:bold;font-size:90%;'>&rarr; Facebook</a></div>";
} add_filter('the_content',string_after_the_content);
?>
<!-- Advanced Custom Fields: Facebooklink BOTTOM / End -->

Das ist etwas "Schnellstrick" und kann natürlich noch weiter optimiert werden - aber es funktioniert, juchhu :-)

Ergebnis / Handhabung:

Damit erscheint jetzt über dem Titel und unter dem Text der Link zum jeweiligen Facebook-Post (sofern vorhanden),

Im WordPress Backend kann direkt beim Erstellen oder Bearbeiten des Beitrags jetzt der Link zum Facebook-Posting einfach direkt über das Feld "Facebook-Link" eingepflegt werden, sobald der Link vorhanden ist. Steht dort (erstmal) nichts, wird einfach direkt allgemein auf die Facebookseite verlinkt.

Simpel, perfekt.

Montag, 29. März 2021

WordPress: Hueman Theme erweitern (Text über und unter dem Post-Inhalt)

UPDATE - dies war die erste Version. Die funktioniert auch, aber inzwischen habe ich noch eine bessere gefunden, Anleitung >> siehe hier.

Auf einem unserer Wordpress Blogs, das auf dem Hueman Theme basiert, möchten wir auf allen Artikel-Seiten (Posts) einen festen Zusatztext eingeben. Dieser Zusatztext sieht in HTML bspw. so aus (grobe Fassung): 

<div style="border: 1px silver;margin:0;padding:0;font-style:italic;font-size:90%">Deine Meinung oder Feedback? Diskutiere fair und freundlich auf unserer <a href="https://www.facebook.com/WirHabenDieWahl/" style="font-weight:bold;">>>> Facebook-Seite</a></div>

Dieser feste Zusatz soll an zwei Positionen erscheinen: über und unter dem eigentlichen Artikel-Inhalt. Hier die Anleitung dazu (für uns, um es nicht zu vergessen, und für andere, die vielleicht eine ähnliche Lösung suchen - enjoy):

1. Über dem eigentlichen Artikel

Den gewünschten HTML-Text (siehe oben) in einer dieser beiden Dateien einfügen. Beide sind unter Design > Themes / Theme Editor erreichbar:

a) entweder in > tmpl/single-tmpl.php
direkt über <?php hu_get_template_part('parts/single-heading'); ?> 

b) oder in > parts/single-heading.php
direkt über dem <h1> des Artikel-Headers

2. Unter dem eigentlichen Artikel

Außerdem soll der Zusatz zwar unter dem Artikel-Text, aber noch über den Zusatzfunktionen wie "Teilen, Gefällt mir, Ähnliche Artikel" etc. erscheinen.

Die Datei, die für die Anzeige des Posting-Inhaltes verantwortlich ist, heisst single-tmpl.php (tmpl/single-tmpl.php). Darin wird der Artikelinhalt durch die Funktion "the_content" bezogen. Die Funktion "the_content" ist ein direkter Bestandteil von WordPress (nicht vom Theme) und bestimmt den a) Artikelinhalt sowie b) die Sharing-Funktionen "Teilen per ..." und "Gefällt mir". 

Um unseren Zusatztext am Ende des Artikeltextes, aber noch vor den Sharing-Funktionen einzubauen, müssten wir also theoretisch die zentrale Funktion "the_content" anpassen. Hier bietet WordPress jedoch zum Glück eine bessere Option: die "the_content" lässt sich mit Filtern steuern, und das machen wir uns jetzt zunutze.

Statt also die Funktion "the_content" direkt anzupassen, schreiben wir eine eigene Funktion, die die "the_content" aufruft, ihr aber zusätzlich unseren eigenen Text mitgibt.

Dazu erweitern wir die functions.php mit unserer eigenen Funktion:

function string_after_the_content($content) {
return $content . "<div style='background-color:#dd9933;color:white;padding-left:5px;padding-right:5px;font-style:italic;font-size:90%;'>Deine Meinung oder Feedback? Diskutiere fair und freundlich auf unserer <a href='https://www.facebook.com/WirHabenDieWahl/' style='color:white;font-weight:bold;font-size:90%;'>>>> Facebook-Seite</a></div>";
} add_filter('the_content',string_after_the_content);

Vielen Dank an diese Seiten (vor allem an die letzte, sehr gute Erklärung!)

http://www.macaalay.com/2015/12/23/arranging-post-components-after-the_content-on-wordpress/
https://developer.wordpress.org/reference/functions/the_content/
https://www.karnetzke.de/blog/ausgabe-von-the_content-anpassen/