Как удалить ненужный номер после пользовательского шорткода wordpress?

У меня есть два файла «my-plugin.php» и «test.view.php» в корне пользовательского плагина. Содержимое my-plugin.php:

    /*
  Plugin Name: test
  Plugin URI: test.com
  Description: test
  Version: 1.0
  Author: test
  Author URI: test
  License: GPLv2+
  Text Domain: conference
*/
class Test{
    function __construct() {
        add_shortcode('testShortCode' , array( $this, 'shortCode'));
    }
    function shortCode() {
        return include 'test.view.php';
    }
}
new Test();

И "test.view.php":

<h1>Test</h1>

Я ввожу [testShortCode] на страницу, но после печати Test я вижу цифру «1» после него. введите описание изображения здесь


person Ahad abasi rad    schedule 26.10.2018    source источник


Ответы (2)


Вы также можете сделать это следующим образом:

function shortCode() {
    ob_start();
    require_once('test.view.php');
    $data = ob_get_contents();
    ob_end_clean();
    return $data;
}

Ссылка: https://stackoverflow.com/a/33805702/1082008

person Kashif Rafique    schedule 26.10.2018

Из документации:

Обработка возвратов: include возвращает FALSE в случае ошибки и выдает предупреждение. При успешном включении, если оно не отменено включенным файлом, вернуть 1.

Итак, чтобы избавиться от 1, которое вы видите, вы либо измените содержимое test.view.php на:

return "<h1>Test</h1>";

... или вы измените свою shortCode() функцию на:

function shortCode() {
    include 'test.view.php';
}
person cabrerahector    schedule 26.10.2018