Frage

In meinen Inhalten gebe ich meinen <h3> Tags -IDs für die direkte Verknüpfung.

So sieht es im Post -Editor aus:

<h3 id="h3-title">H3 Title</h3>

Damit ich mich direkt so verhandeln kann:

<a href="http://example.com/page#h3-title">H3 Title</a>

Die Doppelzitate werden jedoch irgendwie entkommen, wobei die HTML -Ausgabe auf der Postseite so aussieht:

<h3 id="\"h3-title"\">H3 Title</h3>

Dies macht die Links nicht funktionieren :(

Ich habe zahlreiche Dinge ausprobiert, z. remove_filter('content_save_pre', 'wp_filter_post_kses'); Was die Dinge großartig bricht.

Ich denke ernsthaft darüber nach, nur einen Filter zu erstellen, um die Schrägstriche zu entfernen, aber es scheint, dass sie nicht mit zunächst nicht mehr hätte hinzugefügt werden dürfen. Sie sind zum Beispiel nicht zu Bildern mit IDs hinzugefügt, daher müssen sie irgendwo hinzugefügt werden. Dies geschieht sowohl in visuellen als auch in HTML -Modi.

Jede Hilfe wäre sehr geschätzt.

War es hilfreich?

Lösung

Mir ist aufgefallen, dass wenn Sie das "Verhindern von Verknüpfungen in Überschriften -Tags verhindern (H1, H2, H3, H4, H5, H6)." In den Einstellungen des SEO Smart Links -Plugins werden die hinteren Schrägstriche entfernt. Ich habe dies auf der Seite des Plugin -Autors gepostet, um hoffentlich behoben zu werden.

Andere Tipps

In Bezug auf das SEO Smart Links -Plugin.

Es ist durch verursacht durch $text = stripslashes($text); In der folgenden Erklärung:

if ($options['excludeheading'] == "on") {
    //Here insert special characters
    $text = preg_replace('%(<h.*?>)(.*?)(</h.*?>)%sie', "'\\1'.removespecialchars('\\2').'\\3'", $text);
    $text = stripslashes($text);
}

Sie haben dies wahrscheinlich bereits behoben, aber für diejenigen, die Google nach der Antwort zum Entfernen von doppelten Zitaten in PHP durchsuchen, stellen Sie sicher, dass der Text zuerst durch StripLashes -Funktion ($ data) filtriert wird.

Für alle, die darauf stoßen, kann das SEO Smart Links -Plugin behoben werden, indem die Funktion seolinks_the_content_filter geändert wird.

Ersetzen

$result=$this->SEOLinks_process_text($text, 0);

Mit

$text = stripslashes($text);
$result=$this->SEOLinks_process_text($text, 0);
$result = stripslashes($result);

Ich bin kein PHP -Experte, keine Ahnung, ob dies die optimale Lösung ist, aber es hat bei mir funktioniert. Dies war eine modifizierte Fix http://www.prelovac.com/vladimir/forum/plugins/seo-smart-link-fix-for-you-seo-smart-linkin

Ich denke, dies könnte eine Plugin -Interaktion sein. Ich habe gerade einen einfachen Testbeitrag auf meiner WP -Website erstellt, und er entkommen den Zitaten nicht. Dies war auf WordPress 2.9.1.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top