Солнцеворот

Новенький
  • Публикации

    6
  • Зарегистрирован

  • Посещение

Репутация

0 Обычная

О Солнцеворот

  • Звание
    Новичок
  1. Достало автоматическое добавление тегов p

    Сам-себе отвечу, итого: Ремонт костыля №3: Чтобы отключить добавление тегов при выводе записи, нужно добавить фильтр в functions.php : /* Отключаем добавление тегов <p></p> к записям при выводе */ remove_filter( 'the_content', 'wpautop' ); Ремонт костыля №2: Для того, чтобы Вордпресс отображал в HTML-редакторе все теги и сохранял в БД записи вместе со всеми тегами, нужно в файл functions.php темы дописать следующее: function customize_tinymce_settings($mceInit) { // Отключает функцию очистки от тегов <p></p> при переключении редактора в HTML-режим $mceInit['wpautop'] = false; return $mceInit;}add_filter( 'tiny_mce_before_init', 'customize_tinymce_settings' );Ремонт костыля №1: Там, где не нужно обрамление тегами <p></p>, обернуть содержимое в блок <div></div>. Для удобства можно определить свой список стилей блоков, для этого в ранее созданую функцию customize_tinymce_settings дописать: // Новый список стилей блоков$mceInit['block_formats'] = 'Абзац <p>=p;Блок <div>=div;Заголовок <h2>=h2;Заголовок <h3>=h3;Pre <pre>=pre;Код <code>=code;'; Теперь, выделяя нужный фрагмент, можно присвоить ему обрамление div вместо p .
  2. Достало автоматическое добавление тегов p

    @abrahadabra, верно, TinyMCE. Раз у него таких команд не встречается, значит он их и не поймет. Еще раз добавлю о костыльности всего решения: Создавая статью в визуальном редакторе TinyMCE он автоматически обрамляет все, что написано с новой строки тегами <p></p> .При этом, перед сохранением записи в базу данных он эти теги удаляет, и в базе статья хранится без тегов <p></p>.При выводе записи, Вордпресс считывает текст статьи из базы данных и заново обрамляет ее тегами <p></p>, где считает нужным.Вот три костыля, на которых работает это решение. Чтобы удалить костыль №3: Чтобы отключить добавление тегов при выводе записи, нужно добавить фильтр в functions.php : /* Отключаем добавление тегов <p></p> к записям при выводе */ remove_filter( 'the_content', 'wpautop' );Теперь нужно добиться, чтобы в базу данных сохранялась корректная запись (чтобы редактор не добавлял и не затирал теги). Костыли №1 и №2 можно обойти следующим образом: Переключиться в режим редактирования записи в виде HTML-текста, и больше не переключаться в режим Визуального редактора. В текстовом редакторе нужно записать статью в текстовом виде и сохранить. Пока так.
  3. Достало автоматическое добавление тегов p

    @abrahadabra, спасибо. Может вы еще знаете, где этот конфиг в Вордпрессе? Но вероятность того, что ваш метод сработает близок к нулю, потому как поиск по файлам не находит такого сочетания букв: force_p_newlines
  4. Достало. А ведь всего-лишь хочешь отформатировать статью так, как считаешь нужным, но нет, вордпресс обрамляет тегом p всё, что считает нужным, в том числе и ссылки с картинками, которые выглядят в статье ущербно из-за этого. По интернету ходит легенда, будто это прекратится, если добавить в functions.php заглушку remove_filter( 'the_content', 'wpautop');Но нет, эта заглушка - вредная полумера, костыль, который не решает проблему. На самом деле эти триклятые теги на ходу добавляет скрипт, когда вы пишете статью. Более того, он, похоже, срабатывает также и по таймеру и переделывает структуру документа на свой лад. Например, вставляем в пост картинку img, которая тут же обрамляется в тег p, получается так: <p> <a href="#"> <img src="#"/> </a></p> Открываем отладчик, удаляем теги p прямо из DOM, на несколько секунд структура становится такой, как нам надо, но через 5-10 секунд срабатывает скрипт, который возвращает все на свои места. К сожалению, я не владею средствами отладки настолько, чтобы понять какой скрипт за это отвечает и какую функцию нужно задушить, чтобы этот вонючий тег больше не вставлялся куда попало. Братцы, я знаю, что это не только меня бесит, давайте наконец решим этот вопрос, подключайтесь!
  5. CSS селектор: все ссылки, кроме тех, которые являются картинками

    Мне такое решение не подходит, внедряться в текст статей и дописывать там классы нельзя. Javascript не предлагать. Нужно сделать на CSS.
  6. Необходимо создать селектор, который бы сделал выборку всех тегов <a></a>, кроме тех, которые содержат в себе тег <img></img> Зачем? Хочу сделать на сайте так, чтобы к текстовым ссылкам на файлы прикреплялась иконка в зависимости от расширения файла, код следующий: a[href$='.jpg'] { background: url(images/jpg.png) no-repeat 100%; padding: 0 20px 0 0;}Проблема: иконка jpg.png прикрепляется не только к текстовым ссылкам, но и к картинкам со ссылкой на увеличенную копию картинки, то есть когда структура имеет такой вид: <a href="http://www.site.com/image.jpg"><img src="http://www.site.com/image.jpg"></img></a> Как избежать появления ненужного значка?