Как удалить ненужный номер после нестандартного шорткода WordPress - PullRequest
0 голосов
/ 26 октября 2018

У меня есть два файла "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] на страницу, но после печатиТест я вижу "1" после него.enter image description here

Ответы [ 2 ]

0 голосов
/ 26 октября 2018

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

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

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

0 голосов
/ 26 октября 2018

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

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

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

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

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

function shortCode() {
    include 'test.view.php';
}
...