2017-02-14 4 views
0

Я ищу способ отображения боковой панели динамически после x количество абзацев в моем контенте.Показать боковую панель после абзацев x

Проблема:dynamic_sidebar (' name ') не отображается текст: var_dump($ad_code) = bool(true). Результат: Моя боковая панель отображается дважды в заголовке, один раз перед содержимым и в правом абзаце отображается номер «1».

add_filter('the_content', 'prefix_insert_post_ads'); 

function prefix_insert_post_ads($content) { 
    $ad_code = dynamic_sidebar('sidebar-6'); 

    if (is_single() && ! is_admin()) { 
     return prefix_insert_after_paragraph($ad_code, 1, $content); 
    } 
    return $content; 
} 

function prefix_insert_after_paragraph($insertion, $paragraph_id, $content) { 
    $closing_p = '</p>'; 
    $paragraphs = explode($closing_p, $content); 
    foreach ($paragraphs as $index => $paragraph) { 

     if (trim($paragraph)) { 
      $paragraphs[$index] .= $closing_p; 
     } 

     if ($paragraph_id == $index + 1) { 
      $paragraphs[$index] .= $insertion; 
     } 
    } 

    return implode('', $paragraphs); 
} 

ответ

0

Я просто добавить следующее:

ob_start(); 
dynamic_sidebar('sidebar-id'); 
$sidebar = ob_get_contents(); 
ob_end_clean(); 

Это работает!

Смежные вопросы