2014-05-06 3 views
0

Я создал короткий код для своей темы, который добавит портфолио на страницу/сообщение. Поскольку код для портфеля довольно длинный и сложный, я поместил его в отдельный файл и пытаюсь использовать get_template_part для его вызова из моего файла shortcodes.php.Wordpress add get_template_part в shortcode php

Вот код, который я в настоящее время:

function portfolio_new($atts) 
{   
ob_start(); 
get_template_part('/includes/shortcode_helpers/portfolio', 'shortcode'); 
$ret = ob_get_contents(); 
ob_end_clean(); 
return $ret;  
} 

add_shortcode('portfolio_new', 'portfolio_new'); 

Однако, это ничего не возвращает. Мой файл, содержащий портфолио PHP находится в incudes/shortcode_helpers/portfolio_shortcode.php

Можно ли указать, где я пошло не так здесь

ответ

1

Вам необходимо переименовать файл шаблона в portfolio-shortcode.php (с тире, а не нижнее подчеркивание). get_template_part проверяет наличие следующего файла:

{current_theme}/includes/shortcode_helpers/portfolio-shortcode.php

Кроме того, необходимо изменить первый параметр get_template_part удалить ведущую косую черту:

get_template_part('includes/shortcode_helpers/portfolio', 'shortcode');

Посмотреть get_template_part на WordPress Codex для порядок файлов, которые эта функция пытается включить.

Смежные вопросы