Мой короткий код WPdiscuz появляется в верхней части страницы - PullRequest
0 голосов
/ 02 апреля 2019

Я использую этот код для генерации шортокода для моего плагина WPdiscuz:

function my_wpdiscuz_shortcode() {
    if(file_exists(ABSPATH . 'wp-content/plugins/wpdiscuz/templates/comment/comment-form.php')){
        include_once ABSPATH . 'wp-content/plugins/wpdiscuz/templates/comment/comment-form.php';
    }
}


add_shortcode( 'wpdiscuz_comments', 'my_wpdiscuz_shortcode' );

Однако при добавлении шорткода [wpdiscuz_comments] он всегда отображает содержимое в верхней части страницы.

Как сделать так, чтобы шорткод отображал содержимое, в котором я добавляю шорткод?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 03 апреля 2019

Я видел, что в группе Beaver Builder на Facebook у вас возникли некоторые проблемы с отображением дубликата, поэтому я решил поделиться кодом, который я использую для коротких кодов WP, для которых требуется другой сценарий PHP, включая.

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

function my_wpdiscuz_shortcode() {
    $html = "";
    if(file_exists(ABSPATH . 'wp-content/plugins/wpdiscuz/templates/comment/comment-form.php')){
        ob_start();
        include_once ABSPATH . 'wp-content/plugins/wpdiscuz/templates/comment/comment-form.php';
        $html = ob_get_clean();
    }
    return $html;
}
add_shortcode( 'wpdiscuz_comments', 'my_wpdiscuz_shortcode' );

Надеюсь, это поможет.

0 голосов
/ 02 апреля 2019

Короткие коды всегда должны возвращать выходные данные.

function my_wpdiscuz_shortcode() {
    if(file_exists(ABSPATH . 'wp-content/plugins/wpdiscuz/templates/comment/comment-form.php')){
        ob_start();
        include_once ABSPATH . 'wp-content/plugins/wpdiscuz/templates/comment/comment-form.php';
        return ob_get_contents();
    }
}
add_shortcode( 'wpdiscuz_comments', 'my_wpdiscuz_shortcode' );
...