Поддержка Проблемы и решения Как убрать тег <br /> после shortcode?

  • Здравствуйте. Помогите пожалуйста решить проблему. Создал Shortcode и задействовал его на странице, но в исходном коде после шоткода вставляется тег <br /> Как убрать автоматическое добавление этого тега? Я так понял Вордпресс после каждого шоткода по умолчанию добавляет тег br. Спасибо!

Просмотр 3 ответов — с 1 по 3 (всего 3)
  • Люди ну неужели нет ни одного хука для решения этого вопроса? Тормозит весь процесс.Пробовал пару плагинов, так они удаляют всё форматирование по умолчанию установленное Вордпресс. Мне то форматирование не мешает, а вот которое после Шоткодов ужасно не устраивает. Помогите пожалуйста.

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    1. Взял первый пример со страницы Shortcode API:
      // [bartag foo="foo-value"]
      function bartag_func($atts) {
      	extract(shortcode_atts(array(
      		'foo' => 'no foo',
      		'bar' => 'default bar',
      	), $atts));
      
      	return "foo = {$foo}";
      }
      add_shortcode('bartag', 'bartag_func');
    2. Написал в редакторе:
      test [bartag foo="something" bar="something else"] test
    3. На странице отобразилось:
      test foo = something test

    По умолчанию тег <br /> не добавляется. Как выглядит весь текст записи?

    Вот так выглядит Шоткод, взял из примеров.

    function bd_column_first( $atts, $content = null ) {
    	return '<div class="column_first">' . do_shortcode($content) . '</div>';
    }
    add_shortcode('column_first', 'bd_column_first');

    Вот так использую на странице

    <h2>Текст....</h2>
    Lorem ipsum.<br />
    
    [column_first]
    <h3>First</h3>
    Lorem ipsum.
    [/column_first]
    
    [column_second]
    <h3>Second</h3>
    Lorem ipsum.
    [/column_second]
    
    [column_third]
    <h3>Third</h3>
    Lorem ipsum.
    [/column_third]

    Вот так на выходе в исходном коде

    <h2>Текст....</h2>
    <p>Lorem ipsum.<br />
    <div class="column_first"><br />
    
    <h3>First</h3>
    <p>Lorem ipsum.</div><br />
    <div class="column_second"><br />
    
    <h3>Second</h3>
    <p>Lorem ipsum.</div><br />
    <div class="column_third"><br />
    
    <h3>Third</h3>
    <p>Lorem ipsum.</div></p>

    Вот такие пироги. Может я не совсем правильно понял принцип действия. Кстати, для каждой колонки у меня создан свой шоткод,не подумайте что это всё на одном создано, просто там разница только в названии дивов.Пробовал и без первого <br />, думал может как-то наследуется, но не дало результата.
    Спасибо!

Просмотр 3 ответов — с 1 по 3 (всего 3)
  • Тема «Как убрать тег <br /> после shortcode?» закрыта для новых ответов.