Пустая строка между анонсом и полным текстом статьи
Замечали, что при открытии полного текста статьи по ссылке "Читать дальше.." у вас появляется лишняя пустая строчка между анонсом статьи и самой статьей? Выглядит это примерно так:

Этим недугом страдают далеко не все шаблоны, а только те, в которых для абзаца <p> прописан отступ снизу типа "padding: 0px 0px 10px 0px;". Спрашивается, откуда берется пустой абзац между анонсом и полным текстом статьи?
Дело в том, что WordPress автоматом заключает теги типа <span id="more-44"></span> (на этот id и ведет ссылка "Читать дальше..") в теги <p>. Корни такого поведения WordPress лежат в функции wpautop, которой обрабатываются все ваши записи в блоге. Она не дает вашему тексту быть вне абзаца. Скажем, если в визуальном редакторе вы написали пару строчек и даже на вкладке "Код" никаких <p> не видите, то при публикации записи эти ваши строчки все равно будут в тегах <p>. Лично мне такое поведение WordPress категорически не нравится, так как WordPress считает себя умнее блогера и якобы исправляет его ошибки в оформлении текста записи. Аналогично и со span, WordPress не дает ему быть вне абзаца и заключает его в тег <p>, а если, как я уже заметил, у вас для <p> прописан отступ, то и возникает эта лишняя пустая строчка. Рассматривать вариант с убиранием отступа у <p> я не буду, частенько он необходим для полноценного функционирования шаблона, поэтому рассмотрим другие варианты.
Первое, что вы можете сделать это удалить функцию wpautop. Для этого откройте файл functions.php вашего шаблона и добавьте туда строчку:
remove_filter('the_content', 'wpautop');
Этим вы избавитесь от автоформатирования ваших записей и WordPress больше не будет заключать span в теги абзаца. Но такой вариант не подойдет вам, если вы уже окончательно привыкли к тому, что WordPress за вас расставляет теги абзацев.
В таком случае предлагаю другой вариант через редактирование файла движка. Откройте файл wp-includes\post-template.php и найдите строчку:
121 | $output .= '<span id="more-'.$id.'"></span>'.$content[1]; |
и замените ее на:
121 | $output .= '<p style="margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"><span id="more-'.$id.'"></span></p>'.$content[1]; |
Этим мы сразу задали абзац <p> для span, причем обнулили все отступы этого абзаца и теперь, несмотря на то, что у вас прописано в файле стилей шаблона этот абзац не будет давать отступ и как следствие мы не будем наблюдать визуально лишнюю пустую строку:

Здесь же можно избавится от ссылок на полный текст статьи в виде article.html#more-44, то есть ссылка "Читать дальше.." будет вести просто на article.html вместо article.html#more-44. Замените строчку:
125 | $output .= ' <a href="'. get_permalink() . "#more-$id\" class=\"more-link\">$more_link_text</a>"; |
на:
125 | $output .= ' <p><a href="'. get_permalink() . "\" class=\"more-link\">$more_link_text</a></p>"; |
Теги <p> можете убрать, я их здесь вставил только затем, чтобы не прописывать для ссылки more-link собственный css-стиль, пусть она наследует стиль ссылок, прописанных для всех ссылок в абзацах.
Рекомендую также:

#16, 25 февраля, 2010 в 10:57
это каким образом он попадет в абзац? предлагаете не закрыть тег абзаца до more? как это отразится на последующих записях в блоге рассказать?
#17, 25 февраля, 2010 в 18:32
Загадками говорить изволите? Ок, интересно, расскажите, пожалуйста :)
Чтобы не быть голословным, приведу пример статьи, где я так и сделал, как вы не рекомендуете. Лишнее удалил, чтобы код не нагружать, но структуру тегов сохранил как есть.
1) Анонс статьи в рубрике:
2) кусок полного текста статьи:
Это было сделано в визуальном редакторе. Сейчас зайду в html-редактор, чтобы показать, как это выглядит там:
... развиваться и совершенствоваться. <!--more--> И я дождался сладкой ...В чём я был не прав?
#18, 26 февраля, 2010 в 03:47
да ни в чем, я немного вас не понял. смысл в том, что вы пользуетесь визуальным редактором вордпресса с включенной функцией wpautop, а я нормальным блог-клиентом с выключенным автоформатированием через wpautop. так вот тот же Windows Live Writer не даст вам запихнуть тег more в теги абзаца - он откорректирует код и все равно вынесет more за пределы абзаца. можно, конечно, отключить соблюдение XHTML-стандартов, но меня это не очень устраивает.