Gibt es eine Möglichkeit vordefinierte Schlüsselworte in Posts automatisch in Klammern zu setzen (solche {{}} meine ich)??
Damit könnte ich automatische Popups erzeugen, ohne Eingabe von Codes in den Posts.
Danke für Eure Ideen, Agape
You need to be a member in order to leave a comment
Already have an account? Sign in here.
Sign In NowSign up for a new account in our community. It's easy!
Register a new accountGibt es eine Möglichkeit vordefinierte Schlüsselworte in Posts automatisch in Klammern zu setzen (solche {{}} meine ich)??
Damit könnte ich automatische Popups erzeugen, ohne Eingabe von Codes in den Posts.
Danke für Eure Ideen, Agape
Hallo!
Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.
Wenn du Fragen hast, kannst du dich gerne jederzeit an @Maximilian Rupp wenden
Hinweis: folgt noch
Natürlich kannst du Wörter in deinen Einträgen in {{...}} einschließen.
Was möchtest du tun? Diese Platzhalter dann automatisiert mit Code ersetzen? Dazu müsstest du dir dann ein kleines Plugin schreiben, welches diese Schlüsselwörter dann bei der Ausgabe bzw. beim Speichern in die Datenbank mit deinem Code ersetzt.
Automatische Klammern {{{}}}
Ich habe mit dem Plugin Templatedia Hover Popups vorbereitet.
Die Schlüsselwörter müssen für das Plugin in Klammern gesetzt sein.
Ich suche nach einem Weg, bei dem die Klammern dafür automatisch bei den entsprechenden Wörtern eingefügt werden. Ohne Eingabe von Seiten der Autoren. Die Schlüsselwörter stehen fest.
Geht sowas???
Agape
Ich nehm mal an, die Schlüsselwörter stehen z.B. in einem Array. Dann könntest du beim Speichern oder Veröffentlichen der Seite/des Beitrags durch den Content gehen, und jedes Auftauchen eines Schlüsselwortes mit den Klammern umschließen.
Das Plugin, was beim Speichern eines Posts ausgeführt wird, müsste dann in etwa so aussehen:
function replace_tpldia_keys($content) {
$search = new Array(); // hier das Array mit den Keywords füllen.
$replace = new Array(); // selbe Keywords, jeweils in {{...}} eingeschlossen
return str_replace($search, $replace, $content);
}
add_filter('content_save_pre', 'replace_tpldia_keys');
(ungetestet)
$search würde dann z.B. so aussehen:
(' key1 ', ' key2 ', ' key3 ')
und $replace entsprechend so:
(' {{key1}} ', ' {{key2}} ', ' {{key3}} ');
Die Leerzeichen in den Strings, damit keine Keys in Wortteilen verwendet werden, sowie keine {{keys}} doppelt mit Klammern versehen werden.
(Mehr Freiheiten hast du evtl. beim Einsatz von Regulären Ausdrücken...)
Fatal Error
Danke! Das Plugin sieht jetzt so aus:
[COLOR=Blue]<?php
/*
Plugin Name: Brackets
Plugin URI: http://
Description: Replaces keywords.
Author:
Author URI:
Version: v1
*/
function replace_tpldia_keys($content) {
$search = new Array('Wort1 ', 'Wort2 '); // hier das Array mit den Keywords f�llen.
$replace = new Array('{{Wort1}} ', '{{Wort2}} '); // selbe Keywords, jeweils in {{...}} eingeschlossen
return str_replace($search, $replace, $content);
}
add_filter('content_save_pre', 'replace_tpldia_keys');
?>[/COLOR]
Leider kriege ich diese Fehlermeldung:
[COLOR=Blue]Parse error: parse error, unexpected T_ARRAY, expecting T_STRING or T_VARIABLE or '$' in /homepages/25/d110079900/htdocs/wp_1/wp-content/plugins/replace.php[/COLOR] on line [COLOR=Blue]13[/COLOR]
Wat nu???
Mein Fehler.
PHP: Arrays - Manual
Noch'n Fehler?
Danke! Hab ich geändert.
Produziert leider noch diese Meldung.
[COLOR=Blue]Parse error: parse error, unexpected T_ARRAY, expecting T_STRING or T_VARIABLE or '$' in /homepages/25/d110079900/htdocs/wp_1/wp-content/plugins/replace.php on line [/COLOR][COLOR=Blue]15[/COLOR]
Hier habe ich ein Plugin von Frank Bueltge, das Abkürzungen verändert. Kann man das umfummeln???
[COLOR=Blue]<?php
/*
Plugin Name: Abbreviation Replacer
Version: 1.1
Plugin URI: WP - Abbreviation Replacer (Plugin) | bueltge.de [by:ltge.de]
Description: Abbreviation Replacer is a Wordpress plugin which automatically adds abbr tags to your blog content. Basis Script and idea is from <a href="http://www.huddledmasses.org">Joel Bennett</a> and his plugin adds acronym tags to the content.
Author: Frank Bueltge
Author URI: bueltge.de [by:ltge.de]
*/
function abbreviations($text) {
global $abbr_abbr;
if( empty($abbr_abbr) ) {
$abbr_abbr = array(
"Abk. " => "Abkürzung",
);
}
$text = " $text ";
foreach($abbr_abbr as $abbr => $description) {
$text = preg_replace("|(?!<[^<>]*?)(?<![?./&])\b$abbr\b(?!:)(?![^<>]*?>)|imsU","<abbr title=\"$description\">$abbr</abbr>" , $text);
$text = preg_replace("|[$]<abbr title=\"$description\">$abbr</abbr>[$]|imsU" , "$abbr" , $text);
}
return trim( $text );
}
add_filter('the_content', 'abbreviations', 18);
add_filter('comment_text', 'abbreviations', 18);
?>[/COLOR]
Es funzt!
Mit den von Dir beschriebenen Änderungen arbeitet das Plugin.
Gibt es eine Möglichkeit, die Ergänzung von Klammern auf einen (den ersten) Begriff pro Beitrag zu reduzieren???
Es wird, es wird..
Bitte noch einen Tip von Dir..
Wohin mit der Zeile???:oops:
Noch ne Fehlermeldung
Danke für den Tip!!
Leider produziert das Teil noch eine Fehlermeldung. Fatal error oder so...
Den Text der Meldung liefere ich morgen nach.
Die Fehlermeldung
Warning: preg_replace() [function.preg-replace]: Delimiter must not be alphanumeric or backslash in /...../wp-content/plugins/Brackets.php on line 17
Bei preg_replace muss der 1. Ausdruck ein regulärer Ausdruck mit "Delimitern" (trennen Ausdruck von Modifkatoren) sein, z.B.:
könnte funktionieren. Eventuell gibts aber jetzt Probleme mit den Leerzeichen. Lies das PHP-Manual: http://de3.php.net/manual/de/function.preg-replace.php
Don’t have an account yet? Register yourself now and be a part of our community!