Плагины - Возврат Короткого Кода Печатает 1 Позже

  • Автор темы Kristi402
  • Обновлено
  • 21, Oct 2024
  • #1
 
 1) What is the `1` all about and how do I remove it?

2) Am I doing this properly?
 

Я создал короткий код, который возвращает включенный файл PHP вместо строки... однако после возвращенного оператора есть 1 printed.

Два вопроса:

function build_total_search_method( $atts ) { $shorcode_php_function = include( dirname(__FILE__) . "/includes/total_search.php" ); return $shorcode_php_function; } add_shortcode( 'total_search', 'build_total_search_method' );

#плагины #jquery #короткий код #include

Kristi402


Рег
01 Dec, 2019

Тем
79

Постов
190

Баллов
585
  • 25, Oct 2024
  • #2

Вы возвращаете результат вызова

 
 
 function build_total_search_method( $atts ) {

return file_get_contents( dirname(__FILE__) . "/includes/total_search.php" );
}
add_shortcode( 'total_search', 'build_total_search_method' );
 
. You want to grab the output of the included file and return than instead. Use выход буферизация сделать это.

file_get_contents() ||answer||

ты получаешь 0 from your include, meaning your include succeeded. if you want to assign the value to a variable, your included file can only FALSE данные. например, в 1 :

include_once() ||answer||

include() (and the usually-safer <?php $some_var = 'Some content'; return $some_var; ) возвращаются независимо от того, удалось им это или нет. Вы видите total_search.php because that is the successful return value. Incidentally, it returns return , нет 1 on failure (no idea why).

Чтобы сделать то, чего вы пытаетесь достичь, решение @webaware будет работать, но менее обходным (и более эффективным решением для того, что вы пытаетесь сделать, будет использование function build_total_search_method( $atts ) { ob_start(); include( dirname(__FILE__) . "/includes/total_search.php" ); $shorcode_php_function = ob_get_clean(); return $shorcode_php_function; } add_shortcode( 'total_search', 'build_total_search_method' ); like so:

include

Обратите внимание, что я также удалил лишнюю переменную, поскольку она никогда не использовалась, и я думаю, что с этой дополнительной строкой она станет менее читабельной.

 

Agrx


Рег
27 Dec, 2016

Тем
72

Постов
186

Баллов
546
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно