Почему wp_list_categories () автоматически вставляется вверху страницы? - PullRequest
0 голосов
/ 03 августа 2020

Считается, что функция wp_list_categories () возвращает строку. Однако он ничего не возвращает и активирует вывод списка категорий в другом месте.

Контент на странице создается следующим образом

function build_index_posts(...){
  $html = '';
  $html.= '<div class="one">';
  $html.= '<h1>'.$header_arr['title'].'</h1>';
  $html.= '</div>';

  return $html;
} 

Я пытаюсь вывести блок со списком дочерних категорий, но он вставлен не в указанное место , но в самом начале страницы.

   function build_index_posts(...){
      $html = '';
      $html.= '<div class="one">';
      $html.= '<h1>'.$header_arr['title'].'</h1>';
      $html.= '</div>';
    
      $category = get_queried_object();
      $category_id = $category->term_id;
                    
        $li_args = array(
         'child_of' => $category_id,
         'depth' => 1, 
         'style' => 'none',  
         'hide_empty' => 0,  
         'orderby'      => 'name',  
         'show_count'   => 0,  
         'pad_counts'   => 0, 
         'hierarchical' => 1,  
         'title_li'     => ''  
        );

        $cat_list = wp_list_categories($li_args);
        $cat_list = str_replace('<br>', '', $cat_list);
        
        $html.= '<div style="display: none">';
        $html.= $cat_list;  // NULL ?? 
        $html.= '</div>';

      return $html;
    } 

Как мне вставить список категорий в соответствующий блок?

1 Ответ

0 голосов
/ 03 августа 2020

Есть 2 способа использовать wp_list_categories() - способ, которым вы его используете, немедленно выведет список, в котором он вызывается в коде - вот почему вы видите его вверху страницы.

Если вы хотите получить список категорий в качестве переменной, вам необходимо передать аргумент include echo со значением false (по умолчанию true):

$li_args = array(
     'echo' => false,
      /* the rest of your args */
);

// now you can save the list in a variable.
$cat_list = wp_list_categories($li_args);

Ссылка : Ссылка на код Wordpress для wp_list_categories

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...