Откуда берутся лишие теги???

Проблема:
WP231, Сборка и перевод: lecactus.ru
Я записываю пост с таким кодом (неважное начало поста пропущенно):

<a href="http://gameboss.ru/download/puzzles_32225_rus.exe" ><h1 id="downlgame">Скачать игру</h1></a>
<a href="http://gb.ru/skachat-igry/"><h1 id="moregames">Еще Игр!</h1></a></div>

Иду на страничку, и вижу что WP отдает следующий код:

<p><a href="http://gameboss.ru/download/puzzles_32225_rus.exe"><br/></a></p>
<h1 id="downlgame"><a _moz-rs-heading="" href="http://gameboss.ru/download/puzzles_32225_rus.exe">Скачать игру</a></h1>
<p><a href="http://gb.ru/skachat-igry/"><br/></a></p>
<h1 id="moregames"><a _moz-rs-heading="" href="http://gb.ru/skachat-igry/">Еще Игр!</a></h1><p/></div>

Лишние параграфы, переводы строк, код перепутан… Я в шоке!
Отключаю ВСЕ плагины, ничего не меняется.
Куда копать, что чинить? Может ктото уже победил такое, мягко говоря "странное" поведение WP?

попробуйте снять в "настройках написания" галочку ИСПРАВЛЯТЬ НЕКОРРЕКТНЫЙ HTML КОД АВТОМАТИЧЕСКИ

… и возможно понадобиться дополнительно отключить визуальный редактор в настройках профиля

... и возможно понадобиться дополнительно отключить визуальный редактор в настройках профиля

… или включить расширенный 🙂

Галочка снята, запись формируется плагином (его корректность проверял – в таблице все как надо), визуальный редактор отключен.
Еще идеи? 🙁

В общем я победил такое поведение wp (но не стал искать чем оно вызывается) – просто вывел <h1> за пределы <a>.
Было так

<a href="link url"><h1>link text</h1></a>

а стало так

<h1><a href="link url">link text</a></h1>

И лишние теги пропали.

испытал таки код у себя на тестовом сайте. действительно вставляет так как описано в первом топике
где то тут писали что надо редактировать в движке для того чтобы код при постинге не менялся.
но при обновлении движка каждый раз надо будет редактировать заново

где то тут писали что надо редактировать в движке для того чтобы код при постинге не менялся. 
но при обновлении движка каждый раз надо будет редактировать заново

Сомневаюсь что это поможет.
Я добавляю\изменяю записи через стандартные функции – wp_insert_post(), wp_update_post() – через которые работает и сам wp. Сейчас открыл запись на редактирование, сохранил и сравнил результат. Кроме полей "дата изменения" все идентично.
Скорее всего галочка "исправлять html" просто не учитывается, либо гдето есть еще один фильтр исправлений который нельзя отключить.

P.S. Ребята, всем спасибо за обсуждение проблемы. Главное что удалось обойти, а то клиент бы меня нифига не понял 😉

м?
http://vapourtrails.ca/wp-preformatted

м?
http://vapourtrails.ca/wp-preformatted

Кажется у Вас в блоге про него читал, или у Макса.
Идея понравилась, но не понравилось что он добавляет дублирующую информацию в базу и я его снес.

А может так? Сайта этого уже нет, но у меня остался плаг. Описания не осталось, но суть его кажется в том, что он убирает фильтры «какие-то там», кот. код по своему усмотрению переделывают:
no-preformatting.php

<?php
/*
Plugin Name: No Preformatting
Plugin URI: http://menhir.ru/wordpress/no-preformatting.html
Description: This plugin discard preformatting in case of the "<" char is in the beginning of content
Author: Sergei Volkov aka Volkman <serg@megalith.ru>
Contributor: Sergei Volkov aka Volkman <serg@megalith.ru>
Author URI: http://megalith.ru/
Version: 1.1

*/

function no_preformatting($text) {
   if (ord($text) == 60) {
        echo $text;
        $text = '';
   }
  return $text;
  }
add_filter('the_content', 'no_preformatting', 1, 1);
?>

Хм… а WordPress умница, правильно исправил код!

ps Кто не понял: а в h – это неверно, потому что нельзя блочный элемент добавлять в строковый.

Да уж, а слона то никто и не заметил 🙂

Хм... а WordPress умница, правильно исправил код!
ps Кто не понял: а в h - это неверно, потому что нельзя блочный элемент добавлять в строковый.

Неа, неправильно. Правильно было бы исправить убрать h или (как я сделал) вынести его за а, а не всовывать лишние переносы и параграфы.

Вопрос в другом – кто ему вообще позволил копаться в моем коде? Лично я – не позволял.

А может так? Сайта этого уже нет, но у меня остался плаг. Описания не осталось, но суть его кажется в том, что он убирает фильтры «какие-то там», кот. код по своему усмотрению переделывают:
no-preformatting.php

Sonika спасибо, буду иметь в виду.

Anonymous
Отправить
Ответ на: