WordPress Shortcode Display Issue - PullRequest
       8

WordPress Shortcode Display Issue

0 голосов
/ 23 июня 2018

Я не хочу показывать все категории WordPress на странице с помощью шорткода.

Мой код:

function catpage_function(){
$variable = wp_list_categories( array(
     'show_count'         => true,
     'orderby'             => 'name',
     'style'               => 'none',
     'hide_empty'         => 0
   ) );
   return $variable; 
}
add_shortcode('catpage', 'catpage_function' );

Но когда я вставляю шорткод [catpage] на страницу, он не отображается под заголовком. код указан над заголовком.

Скриншот сайта

Что я мог сделать?

Ответы [ 2 ]

0 голосов
/ 23 июня 2018

попробуйте использовать ob_start (), чтобы правильно отобразить HTML в шорткоде

<?php 
function catpage_function(){
    ob_start();
    $variable = wp_list_categories( array(
        'show_count'         => true,
         'orderby'             => 'name',
          'style'               => 'none',
          'hide_empty'         => 0,
          'echo'                => 0,
    ) );
    ob_end_clean();   
    return $variable; 
}
add_shortcode('catpage', 'catpage_function' );
0 голосов
/ 23 июня 2018

для функции шорткода catpage_function вы должны вернуть строку (установите echo в false):

function catpage_function(){
   $variable = wp_list_categories( array(
     'show_count'         => true,
     'orderby'             => 'name',
     'style'               => 'none',
     'hide_empty'         => 0,
     'echo'                => 0,
   ) );
   return $variable; 
}
add_shortcode('catpage', 'catpage_function' );
...