Ich bin nicht wirklich gern mit dem neuen Bild Bildunterschrift kurze Codes benötigt. Die Bildunterschrift Vorlage ist nicht geeignet für mich und für die meisten von WordPress versierte Benutzer da draußen. WP Bildunterschrift Struktur
<div style="width: 169px" class="wp-caption alignnone" id="attachment_14"> <a rel="attachment wp-att-14" href="http://www.whatever.com/attachment/"> <img width = "159" height = "300" class = "size-Medium wp-image-14" title = "Lorem ipsum" alt = "Lorem ipsum" src = "http://www.whatever.com/image . png "/> </ a> <p class="wp-caption-text"> Lorem ipsum </ p> </ div>
Von den oben genannten HTML-Code das gesamte Bild Inhalt ist Wrap mit einem Block-Elemente "<div>".
Die Frage
Wenn die unter Bedingung ist erfüllt, wird sie machen das gesamte Dokument ungültig.
- Bildüberschrift ist in einem Absatz.
- Wordpress wpautop (Standard-Filter) aktiviert ist; wpautop wird automatisch anhängen <p> auf Rohtext Inhalt.
Schalten Sie das Gerät dann aus
Spezial-Konstante
Interessanterweise eine einfache Bildunterschrift Kurzwahlnummer hat ein Benutzer definierte Konstante. Es scheint wie WP-Entwickler hat vorhersagen, dass ihre Umsetzung ist höchst fragwürdig.
Alternativ haben Sie die Optionen für die hardcode die unter Constant für behinderte die "Auto Caption" Funktionen innerhalb wp-config.php.
define ( 'CAPTIONS_OFF', 1); / / deaktiviert Auto-Bild BildunterschriftWP Caption Kurzwahlnummer Filter
Es verfügt über Filter zu, img_caption_shortcode. Für Voraus WP Benutzer können Sie binden diese Haken zu überschreiben die Standard-Template-Beschriftung.
Abhilfe
Mein Workaround beteiligt 1. Entfernen der Bildunterschrift 2 Kurzwahlnummer. eine neue ein. Ich tat dies, weil ich nicht wie die img_caption_shortcode Filter als scheinen wie zu viel Arbeit.
Zuerst werden wir neu / replizieren die Beschriftung Kurzwahlnummer Funktionen. Benannt es nwp_caption_shortcode - neue wp Bildunterschrift Kurzwahlnummer
Funktion nwp_caption_shortcode ($ attr, $ content = null) ( if (defined ( 'CAPTIONS_OFF')) ( / / Nicht geprüft bool für seine bedeutet wörtlich aus / steigen return $ content; ) Extrakt (shortcode_atts (array ( 'id' =>'', "align '=>' alignnone ', 'Breite' =>'', 'Bildunterschrift' =>'' ), $ Attr)); if (1> (int) $ width | | empty ($ caption)) ( return $ content; ) if ($ id) $ id = "id =" '. $ id.' " '; $ output = "<span". $ id. "class =" wp-caption '. $ ausrichten.' " '; $ output .= "style =" width: ". (10 (int) $ Breite)." px; display: block "> '; $ output .= $ content; $ output .= '<dfn class="wp-caption-text"> ". $ caption. '</ dfn> </ span>'; Rückkehr apply_filters ( 'nwp_caption_shortcode', $ output); )
to hold the caption text. Die Kurzwahlnummer Funktionen ist so ziemlich das gleiche, nur die anderen ist habe ich <span> zu Wickeln Sie das Bild und Inhalt <dfn>, um die Beschriftung Text.
Weiter erstellen Sie eine Funktion, um registrierte die Standard-Bildunterschrift Kurzwahlnummer.
Funktion remove_caption_shortcode () ( foreach (array ( 'wp_caption', 'Bildunterschrift') als $ tag) ( remove_shortcode ($ tag); ) )
Schließlich registrieren wir alle diese Funktionen.
if (version_compare ($ GLOBALS [ 'wp_version'],'2 ,6 ",'>=')){ add_action ( 'init', 'shortcode_init'); ) Funktion shortcode_init () ( add_action ( 'loop_start', 'remove_caption_shortcode', 10); add_action ( 'loop_start', 'reg_shortcode', 11); ) Funktion reg_shortcode () ( add_shortcode ( 'Bildunterschrift', 'nwp_caption_shortcode'); add_shortcode ( 'wp_caption', 'nwp_caption_shortcode'); )
Herunterladen










3 Responses to "Workaround für WP Bildüberschrift"
Kommentar Seite 1 von 1
Antworten
Antworten
Antworten
Wenn Sie möchten, dass zu kommentieren, lesen Sie bitte die folgenden guidelines.These sind so konzipiert, schützen Sie und andere Nutzer der Website.
Um diese Erfahrungen angenehm und interessant für alle unsere Nutzer, bitten wir Sie, folgen Sie den oben genannten Richtlinien. Fühlen Sie sich frei, sich, stellen Sie Fragen und sagen Sie uns, was Sie denken! aufschlussreiche Kommentare sind die meisten begrüßen.
RSS-Feed für Kommentare in diesem Post