Hallo zusammen.
Ich habe folgendes Anliegen.
Meine Hauptsächliche Arbeit beim erstellen meiner Beiträge ist das umwandeln einer url zu einen Link.
Dazu folgendes Beispiel:
https://spex.de/
zu
<a href"=https://spex.de/">Spex.de</a>
Es handelt sich hier um das umwandeln von 20 bis 30 url's täglich und es würde mir eine Menge Zeit ersparen.
Gibt es eine Möglichkeit das zu automatiseren ?
Automatisches Umwandeln von einer Url zu einen Link
-
-
- Gerade eben
- Anzeige
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.
- ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
- ✔️ Deutsche Server & DSGVO-konform
- ✔️ Persönlicher Support (kein 0815-Ticket-System)
-
Was genau willst du automatisieren? Geht es um Suchen und Ersetzen von vorhandenen Texten? Dann könntest du mit dem Plugin Better Search Replace direkt in der Datenbank arbeiten.
-
Es handelt sich hier um das umwandeln von 20 bis 30 url's täglich und es würde mir eine Menge Zeit ersparen.
Gibt es eine Möglichkeit das zu automatiseren ?Ich vermute mal, dass du nach der Erfassung des Textes die URL nach Links wandeln möchtest...
Dafür gibt es mit Sicherheit ein Plugin...
Wenn nicht kannst du dir eben eins basteln
http://www.phpbox.de/tipsundtricks/…n-verlinken.php -
Danke für die beiden Antworten.
Mit den Plugin "Better Search Replace" muß ich mal schauen ob es für mich passt.
Und zur 2. Antwort.
Dieses Php Script ist mir auch schon aufgefallen.
Aber wo genau schreibe ich dieses Script hinein ? -
Ich muß meine Anfrage etwas spezifizieren.
Es betrifft nicht alle url's die ich verwende.
Hauptsächlich sind es ganz verschiedene url's die zu alle zu Links umgewandelt werden sollen und im Text steht dann: Info
Beispiel:
https://soundcloud.com/spex/sets/musik-zur-zeit-05-2019
zu:
<a href="https://soundcloud.com/spex/sets/musik-zur-zeit-05-2019">Info</a>
Andererseits würden andere url's keinen Text mit Info bekommen.
Ist etwas speziell.
Deshalb passt das Plugin Better Search Replace nicht. -
Du könntest dir auch einen eigenen Shortcode basteln. Aber eine richtige Ersparnis ist das dann nicht mehr.
-
Dann also ein php script ?
-
Dann also ein php script ?
genau - in dem du deine regeln eben beschreibst.
entweder als eigenes plugin für die ausgabe oder als Erweiterung der funktions.php
-
Ein Shortcode könnte so aussehen:
PHP
Alles anzeigen// Add Shortcode function se_mylink( $atts , $content = null ) { // Attributes $atts = shortcode_atts( array( 'link' => 'https://www.example.com', ), $atts, 'mylink' ); return '<a href="' . $atts['link'] . '">' . $content . '</a>'; } add_shortcode( 'mylink', 'se_mylink' );
Das gehört in die functions.php des Child-Themes. Dann brauchst du in der Seite / im Beitrag nur noch folgendes eingeben: -
Super. Das probiere ich gleich aus. Merci !
-
Ok. Das war erst einmal nichts. Die functions.php ist ja auch riesig. Ich habe es am Ende eingetragen ...
/**
* Add Upsell "pro" link to the customizer
*/
require_once( trailingslashit( get_template_directory() ) . '/inc/customize-pro/class-customize.php' );// Add Shortcode
function se_mylink( $atts , $content = null ) {// Attributes
$atts = shortcode_atts(
array(
'link' => 'https://www.example.com',
),
$atts,
'mylink'
);return '<a href="' . $atts['link'] . '">' . $content . '</a>';
}
add_shortcode( 'mylink', 'se_mylink' ); -
Skript ist hier die Beste Lösung. Wobei der Shortcode im Beispiel wieder sehr viel Händische Arbeit benötigt. Eine ähnliche – aber dennoch andere – Aufgabenstellung hatte ich bei mir auch. Hier wollte ich alle ausgehenden Links target="_blank" hinzufügen, spezielle Links mit einer zusätzlichen Klasse versehen (Affiliate) und eine Handvoll Links auf nofollow setzen.
Das Skript greift aus die Ausgabe zu, heißt der Artikel wird nicht im Backend geändert, sondern vor der eigentlichen Ausgabe gefiltert.
Ist ein sehr spezielles Skript, kann aber denke ich für diesen Fall angepasst werden. Bei Interesse einfach kurz melden, dann stell ich es hier mal rein.
-
Das klingt gut. Also die Links sollten das Info als Text und ein neues Fenster öffnen. Mehr ist nicht nötig. Vielen Dank im voraus.
-
Werde es entsprechend später/morgen Raussuchen. Du müsstest es natürlich für dich entsprechend selber anpassen.
-
Merci.
-
Das Problem dürfte das Auswählen der Links sein, die umgewandelt werden. Wenn du schreibst, dass es nicht alle sein sollen. Also entweder wandelst du mit dem Plugin
http://www.phpbox.de/tipsundtricks/…n-verlinken.phpoder einem anderen Plugin ALLE URLs in Links um (was ja wahrscheinlich auch kein großes Drama wäre) Oder du definierst sehr exakt, wie so eine URL zum Umwandeln denn aussehen soll. Z. B. sollen alle Eingaben, die mit xhttps beginnen zu einer URL umgewandelt werden. Du musst dann also beim Eintragen der URL zu Beginn das "x" manuell einfügen, wenn die URL als Link ausgegeben werden soll ("xhttps://example.com") und das Script muss das "x" wieder rauschreiben, weil xhhtps://exapmle.com bringt dich ja nirgendwo hin. ;) -
Moin, hat leider etwas länger gedauert. Anbei der Code für bestimmte Links.. Hier musst du nur noch den Part von PHPbox mit einfügen/kombinieren.
Für mich war das Skript als Nofollow für bestimmte Seiten, sowie Kennzeichnung von externen/internen Seiten gedacht. Ich hoffe, dass dir dies als "Ansporn" hilft. Bei Fragen einfach kurz melden.
Der Code kommt direkt in die functions.php (Child-Theme oder Plugin).
PHP
Alles anzeigen/* * edit external Links add nofollow to links */ function add_nofollow_content ($content) { $content = preg_replace_callback ('/<a[^>]*href=["|\']([^"|\']*)["|\'][^>]*>([^<]*)<\/a>/i', // Finde Links function ($m) { $nofollow_sites = array ( //Blacklist "http://Blacklist-Seite.de",); foreach ($nofollow_sites as $nofollow_site) { if (strpos ($m[1], "https://eigen-seite.de") === false && strpos ($m[1], "https://www.eigene-seite.de") === false) { // Die eigene Seite mit und ohne www. if (strpos($m[1], $nofollow_site) === false) { return '<a href="'. $m[1] .'" target="_blank" class="external">'. $m[2] .'<i class="licon licon-external"></i></a>'; //externe Seiten } else { return '<a href="'. $m[1] .'" target="_blank" class="external" rel="external nofollow">'. $m[2] .'<i class="licon licon-external-nf"></i></a>'; //externe "Blacklist" Seite } } else { return '<a href="'. $m[1] .'">'. $m[2] .'</a>'; //interne Seite } } }, $content); return $content; } add_filter ('the_content', 'add_nofollow_content'); -
Hallo zusammen. Ich komme erst am Wochenende dazu, eure Tipps ( Vielen Dank !) aus zu probieren. Allerdings kann ich mit dem Hinweis: "Hier musst du nur noch den Part von PHPbox mit einfügen/kombinieren.", nicht viel anfangen. Da brauche ich Hilfe. Ich schreibe das lieber gleich ...
Ich glaube auch nicht das einerlei ist wo ich in der functions.php dieses Script einfüge ...
Danke bis hierhin. -
"Hier musst du nur noch den Part von PHPbox mit einfügen/kombinieren.", nicht viel anfangen. Da brauche ich Hilfe. Ich schreibe das lieber gleich ...
Also das ganze Script schreibe ich hier nicht. sind ja an sich alle Bausteine vorhanden :).ch glaube auch nicht das einerlei ist wo ich in der functions.php dieses Script einfüge
Doch, kann soweit stehen wo du lustig bist in der functions.php... sollte halt nur wenn es kein eigenes Theme (also selbst erstellt) ist, nicht direkt in die functions.php stehen, da es bei einem Theme-Update dann wieder weg ist.. da gibt es dann glaube ich auch ein Plugin dafür...
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!