Es gibt manchmal Anforderungen, die nur via php-Schnipsel erreicht werden können. Diese sind in functions.php (in Child-Theme!) einzufügen und manchmal braucht es auch noch ein paar css-Anweisungen.
Hier ein paar Beispiele im Bereich der Shortcodes:
In der Fusszeile wird oft ein Copyright-Hinweis angezeigt mit einer Jahrzahl, also so:
©2024 woodesign
Das wird so erreicht:
in functions.php:
function extra_style_shortcode_copyright( $atts, $content = null ) {
return '©' . date('Y'); }
add_shortcode('copyright', 'extra_style_shortcode_copyright');
im Backend-Editor:
[[copyright]] woodesign
Im Text soll ein gewisses Wort die Formatierung gemäss einer CSS-Klasse anzeigen.
Zum Beispiel soll woodesign immer gleich aussehen.
Das wird erreicht mittels Eintrag in functions.php (und css-Klasse .woodesign muss natürlich definiert sein):
function extra_style_shortcode_woodesign( $atts, $content = null ) {
return '<span class="woodesign">' . do_shortcode($content) . '</span>';
}
add_shortcode('woodesign', 'extra_style_shortcode_woodesign');
So wirds gemacht:
Zum Beispiel soll [[woodesign]woodesign[/woodesign]] immer gleich aussehen.
Dieser html-Code entsteht daraus:
Zum Beispiel soll <span class="woodesign">woodesign</span> immer gleich aussehen.
Weitere Anwendungen können zum Beispiel sein:
- Verwenden einer css-Klasse um Slibentrennung zu vermeiden
- Verwenden einer css-Klasse um Wörter zusammen zu halten (z.b. Telefon-Nr) – nowrap
Plugin Div Shortcode
Dieses Plugin hilft <div> Tages inklusive Klassen in den Text einzufügen. zb:
[[div class="faq"]]
Textkdsjfn ksjdf kjhsdk f
[[/div]]
Das Plugin wird aber nicht mehr weiter entwickelt – muss auch nicht, da es läuft wie es soll.
Der Code kann natürlich auch direkt in die functions.php eingefügt werden:
/**
* Open Div Shortcode
*
*/
function be_div_shortcode( $atts ) {
$atts = shortcode_atts( array(
'class' => '',
'id' => '',
), $atts, 'div-shortcode' );
$return = '<div';
if ( !empty( $atts['class'] ) )
$return .= ' class="'. esc_attr( $atts['class'] ) .'"';
if ( !empty( $atts['id'] ) )
$return .= ' id="'. esc_attr( $atts['id'] ) .'"';
$return .= '>';
return $return;
}
add_shortcode( 'div', 'be_div_shortcode' );
/**
* Close Div Shortcode
*
*/
function be_end_div_shortcode( $atts ) {
return '</div>';
}
add_shortcode( 'end-div', 'be_end_div_shortcode' );