Machen Sie Ihre eigenen Shortcodes und mehr mit diesen 7 WordPress-Hacks
Plugins stören mich - eine lange Liste von ihnen zu sehen, jeder registriert seine eigenen Hooks und Filter und… eugh. Manchmal kann eine einfache Lösung mit nur wenigen Zeilen in Ihrem gefunden werden Functions.php Datei. Hier sind 10 unserer Favoriten.
Beachten Sie, dass Functions.php ist ein Teil Ihres Themas, und als solches gehen alle Hacks, die Sie dort platzieren, verloren, wenn Sie das Thema wechseln. Sie müssen diejenigen kopieren, die Sie für das neue Thema behalten möchten - es ist keinesfalls schwierig, aber etwas zu bedenken, falls Ihre Website plötzlich kaputt geht und nicht herausfinden kann, warum. Wenn Sie bei der Kodierung einen Fehler machen, sehen Sie eine leere Seite (die ultimative Anleitung zum Umgang mit 500 Serverfehler und leere Seiten in WordPress Der ultimative Leitfaden zum Beheben von 500 internen Serverfehlern und leeren weißen Seiten in Wordpress Der ultimative Leitfaden zum Beheben von 500 internen Serverfehlern und leeren weißen Seiten in Wordpress Lesen Sie weiter wird Ihnen einige der anderen Möglichkeiten sagen, - also sei vorsichtig. PHP-Kenntnisse sind ebenfalls hilfreich (hier ist unser Anfängerhandbuch für PHP).
Fügen Sie Miniaturansichten zum Admin-Bereich hinzu
Wenn Sie sich gerade mit dem Hinzufügen von Post-Thumbnails beschäftigen, sollten Sie auf einen Blick sehen, welche Einträge bisher noch nicht gefunden wurden. Das komplette Handbuch zu den Miniaturansichten und Bildgrößen in WordPress Das vollständige Handbuch zu den Miniaturansichten und Bildgrößen in WordPress Lesen Sie weiter So fügen Sie eine Miniaturansicht hinzu - Dieses Snippet fügt Ihrem Admin-Bildschirm beim Anzeigen eine neue Spalte hinzu Alle Artikel. Sie können die Größe ändern, indem Sie die Variablen in Array (100.200) anpassen, wodurch die maximale Breite und Höhe angegeben wird.
add_filter ('manage_posts_columns', 'posts_columns', 5); add_action ('manage_posts_custom_column', 'posts_custom_columns', 5, 2); Funktion posts_columns ($ defaults) $ defaults ['post_thumbs'] = __ ('Thumbs'); $ default zurückgeben; function posts_custom_columns ($ column_name, $ id) if ($ column_name === 'post_thumbs') echo the_post_thumbnail (Array (100.200));
Sie sollten mit so etwas enden:
Stellen Sie Ihren eigenen Shortcode für JS-Snippets her
Das Einbetten von JavaScript direkt in den Post-Inhalt kann problematisch sein (ist jedoch möglich (siehe den TinyMCE-Hack weiter unten in diesem Artikel)), insbesondere wenn diese Ausschnitte häufig geändert werden müssen, wodurch alle aktuellen Beiträge abgebrochen werden. Wenn das JavaScript, das Sie einbetten, ein Größenattribut enthält, können auch Probleme auftreten, wenn sich das Design ändert und plötzlich nichts mehr passt. Oder vielleicht werden Sie einfach müde, immer und immer wieder dasselbe einzubetten. In jedem Fall kann ein Shortcode ungemein helfen.
Hier ist der Ausschnitt für einen, den ich gemacht habe, um den wöchentlichen Chatroom einzubetten, der auf dem kostenlosen Dienst tlk.io beruht. Verwendung des Kurzcodes Plaudern, und ein einzelnes Attribut von gegeben Zimmer, Es wird der entsprechende Code eingebettet, der auf die richtige Chatroom-Adresse verweist. In diesem Fall wird standardmäßig ein generischer Code verwendet “Technophilie” Zimmer.
Funktions-Chatroom ($ atts) extract (shortcode_atts (array ('room' => 'technophilia'), $ atts)); Rückkehr ''; add_shortcode ('chat', 'chatroom');
Töte einen Shortcode
Wenn Sie keinen Funktionscode mehr verwenden möchten, werden sie möglicherweise in der Ausgabe verunreinigt. Dieser einfache Code entfernt sie, einen kurzen Code “Reiniger” Wenn Sie wollen - obwohl es nicht auf die Datenbank wirkt, nur auf die Ausgabe des Post-Inhalts.
function shortcode_cleaner () remove_shortcode ('chat'); add_shortcode ('chat', 'my_remove_shortcode'); add_action ('init', 'shortcode_cleaner'); function my_remove_shortcode () return ";
Extrahieren Sie ein YouTube-Video aus einem Beitrag
Vorgestellte Bilder wurden in Version 2.9 eingeführt, um jedem Beitrag ein zentrales repräsentatives Bild zu geben. Was aber, wenn sich Ihr Beitrag mehr mit dem Video beschäftigt? Sie können eine Bildschirmaufnahme machen und diese als gekennzeichnetes Bild verwenden, oder Sie können das Video extrahieren und stattdessen ein eingebettetes Bild einfügen. Rufen Sie diese Funktion in der Schleife auf, um eine YouTube-URL zurückzugeben, die Sie wie gewünscht verwenden können.
Funktion video_from_post () global $ post; $ return = array (); preg_match ('| http: //www.youtube.com/watch \? v = ([a-zA-Z0-9 _ \ -] +) |', $ post-> post_content, $ match); $ v = $ entspricht [1]; $ return [0] = $ post; $ return [1] = $ v; return $ return;
Sie können auch das folgende Snippet verwenden, das Beiträge filtert, um YouTube-URLs zu entfernen (da Sie sie an anderer Stelle verwenden werden)..
Funktion remove_youtube ($ content) $ search = '/http:\/\/www\.youtube\.com\/watch\?(.*?)v=([a-zA-Z0-9_\-(++++ ) (\ S *) / i '; $ content = preg_replace ($ search, "", $ content, 1); $ content zurückgeben; add_filter ('the_content', 'remove_youtube');
Stoppen Sie den visuellen Editor, der HTML entfernt
Der visuelle Editor von WordPress - TinyMCE - ist großartig für die meisten Benutzer und kann mit dem erweiterten Plugin TinyMCE erweitert werden. Nehmen Sie die Kontrolle über den WordPress-Editor mit TinyMCE. Nehmen Sie die Kontrolle über den WordPress-Editor mit TinyMCE. Lesen Sie weiter. Für diejenigen, die ihren Code etwas weniger babysitten möchten, hindert dieses kleine Snippet TinyMCE daran, Tags zu entfernen, indem die Liste der gültigen Elemente erweitert wird, sodass Sie Elemente wie iFrames einbetten oder Klassen für Elemente angeben können.
Funktion fb_change_mce_options ($ initArray) // Durch Komma getrennte Zeichenfolge erweiterter Tags $ ext = 'pre [id | name | class | style | lang | escaped], iframe [align | longdesc | name | width | height | Frameborder | scrolling | marginheight | marginwidth | src] '; if (isset ($ initArray ['extended_valid_elements']))) $ initArray ['extended_valid_elements']. = ','. $ ext; else $ initArray ['extended_valid_elements'] = $ ext; $ initArray ['verify_html'] = false; return $ initArray; add_filter ('tiny_mce_before_init', 'fb_change_mce_options');
Schließlich verhindert dies, dass JavaScript entfernt wird. Dies ist jedoch eine große Sicherheitslücke in Umgebungen mit mehreren Autoren.
function disable_kses_content () remove_filter ('content_save_pre', 'wp_filter_post_kses'); add_action ('init', 'disable_kses_content', 20);
Kostenloser Website-Thumbnailer
WordPress.com bietet einen wenig bekannten Website-Thumbnailing-Dienst an. Das heißt, Sie können die URL einer Webseite angeben, und es wird ein Miniaturbild dieser Website generiert und bereitgestellt. Fügen Sie das folgende Snippet hinzu, um a zu erstellen “webthumb” Kurzcode, und verwenden Sie es, indem Sie eine URL einschließen [webthumb] // www.makeuseof.com [/ webthumb]. Verwenden Sie Attribute, um die Breite oder Höhe zu überschreiben, und passen Sie die HTML-Ausgabe nach Bedarf an. Miniaturansichten werden zwischengespeichert, aber die Generierung kann etwas dauern.
function websitethumbnails ($ atts, $ content = null) extract (shortcode_atts (array ("snap" => 'http://s.wordpress.com/mshots/v1/'), "alt" => 'Mein Bild', "w" => '600', // Breite "h" => '350' // Höhe), $ atts)); $ img = ''; return $ img; add_shortcode ("webthumb", "websitethumbnails");
Hinzufügen von Miniaturansichten zu RSS-Feeds
Mit dem folgenden Code wird ein Auszug oder ein vollständiger RSS-Feed so angepasst, dass die vorgestellte Miniaturansicht enthalten ist. Sie können auch sehen, wie wir am Ende jedes Elements einen Standard-Link hinzugefügt haben, der auf den vollständigen Beitrag verweist. Sie können dies natürlich beliebig ändern, z. B. einige Share-Schaltflächen.
function excerpt_thumbnail_feeds ($ content) global $ post; if (has_post_thumbnail ($ post-> ID)) $ content = ''. get_the_post_thumbnail ($ post-> ID, 'featured'). ''. rss_the_excerpt ($ post-> ID, 100); $ content. = "Lesen Sie den gesamten Artikel: ID). ""> ". Get_the_title ($ post-> ID)."
"; return $ content; add_filter (" the_excerpt_rss "," excerpt_thumbnail_feeds "); // Post-Miniaturbilder in Feeds anzeigen Funktion full_thumbnail_feeds ($ content) global $ post; if (has_post_thumbnail ($ post-> ID)) $ content = ''. get_the_post_thumbnail ($ post-> ID, 'featured'). ''. $ content; $ content. = "Lesen Sie den gesamten Artikel: ID). ""> ". Get_the_title ($ post-> ID)."
"; return $ content; add_filter (" the_content_rss "," full_thumbnail_feeds)”);
Sehen Sie - es gibt eine ganze Menge, die Sie ohne Plugins machen können, und dies ist nur ein Kratzen der Oberfläche. Wenn Sie mehr wollen, schauen Sie sich meine Liste der IFTTT-Rezepte für WordPress 5 an. Erstaunliche IFTTT-Rezepte für WordPress-Benutzer. 5 Erstaunliche IFTTT-Rezepte für WordPress-Benutzer. IFTTT ist das Automatisierungswerkzeug der Power-User. und WordPress ist das ultimative Schweizer Taschenmesser des Bloggers. Stellen Sie sich nur einmal die Weltherrschaft vor, die Sie durch Kombination der beiden erreichen könnten! Lesen Sie mehr oder besuchen Sie WPSnipp - eine Website mit über 600 kategorisierten Snippet-Hacks.
Erfahren Sie mehr über: Wordpress.