Jump to content

Солнцеворот

Newbie
  • Posts

    6
  • Joined

  • Last visited

Солнцеворот's Achievements

Explorer

Explorer (1/14)

0

Reputation

1

Community Answers

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

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy