2014-05-06 90 views
0

我爲我的主題創建了一個簡短代碼,將添加一個投資組合到頁面/帖子。由於投資組合的代碼很長且很複雜,我將它放在一個單獨的文件中,並試圖使用get_template_part從我的shortcodes.php文件中調用它。Wordpress將get_template_part添加到短代碼中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的法典爲該函數試圖包含的文件的順序。