function portfolio_shortcode($atts, $content = null){
extract(shortcode_atts(array(
'type' => 'post',
), $atts));
$q = new WP_Query(
array('posts_per_page' => 5, 'post_type' => 'portfolio')
);
$list = '<div class="row">
<section id="projects">
<ul id="thumbs" class="portfolio">';
while($q->have_posts()) : $q->the_post();
$idd = get_the_ID();
$portfolio_large = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'portfolio-large');
$portfolio_thumb = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'portfolio-image');
$list .= '
<!-- Item Project and Filter Name -->
<li class="col-lg-3 design" data-id="id-0" data-type="web">
<div class="item-thumbs">
<!-- Fancybox - Gallery Enabled - Title - Full Image -->
<a class="hover-wrap fancybox" data-fancybox-group="gallery" title="'.get_the_title().'" href="'.$portfolio_large[0].'">
<span class="overlay-img"></span>
<span class="overlay-img-thumb font-icon-plus"></span>
</a>
<img src="'.$portfolio_thumb[0].'" alt="'.get_the_title().'" />
</div>
</li>
';
endwhile;
$list.= '</ul></section></div>';
wp_reset_query();
return $list;
}
add_shortcode('portfolio', 'portfolio_shortcode');
回答
在嘗試使用之前,它。引起問題的線路有:
$portfolio_large = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'portfolio-large');
$portfolio_thumb = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'portfolio-image');
有兩種解決方案,以這種特殊的錯誤。
1)
添加global $post;
到您的函數的頂部。例如。
function portfolio_shortcode($atts, $content = null) {
global $post;
...
2)
您已經與$idd = get_the_ID();
獲取ID。用它代替$post->ID
。例如。
$portfolio_large = wp_get_attachment_image_src(get_post_thumbnail_id($idd), 'portfolio-large');
$portfolio_thumb = wp_get_attachment_image_src(get_post_thumbnail_id($idd), 'portfolio-image');
還有第三種替代方案,我最後提到它,因爲如果將來遇到類似問題,它不會對您有所幫助。 get_post_thumbnail_id()
將在循環中的當前帖子上工作。因此,您不需要傳入任何身份證件。
您如何知道OP甚至在任何地方定義了'$ post'? – Rizier123
該代碼是特定於WordPress的。 '$ post'已經被全局定義,而不是用戶需要自己做的事情。 –
嗨Nathan Dawson,非常感謝。 –
- 1. 注意:未定義的變量:F中頁:\ WAMP \ WWW
- 2. 未定義變量:con在C:\ wamp \ www \ android_connect \ db_connect.php在線
- 3. 注意:未定義指數:錯誤在C:\ WAMP \ WWW \上線測試\的index.php 13
- 4. 注意:Undefined變量:我的C:\ wamp \ www \ social \ profile-view.php在線58
- 5. (!)注意:未定義的索引:用戶名在C:\ wamp \ www \ HavenInWonderland \ home.php在線15
- 6. 注意:未定義的索引:$錯誤在C:\ wamp \ www \ btb_sandbox \ upload_2.php在線35
- 7. 注意:未定義的索引:在C:\ wamp \ www \ blog \ news.php上在線164上
- 8. 注意:未定義的索引:在C:\ wamp \ www \ tests \ Joomla \ Website \ index.php上線37
- 9. 注意:未定義的變量:我在第20行的F:\ wamp \ www \ search \ search.php和
- 10. 注意:未定義的變量:名稱在C:\的appserv \ WWW \ ContactUs.php上線217
- 11. 注意:未定義指數:在C:\ WAMP \ WWW \ somygms \ a.php只會上線142
- 12. 注意:未定義的索引:在205行的C:\ wamp \ www \ test \ inc \ template.php中的sid
- 13. 注意:未定義變量:VAR1在\ WWW \ test.php的第7行
- 14. 注意:未定義的變量:在C:\ wamp \ www \ COP3718 \ tt2中的姓氏在第15行的^ homas12 \ delete.php
- 15. 注意:未定義的變量:led_nem在C:上線71
- 16. 注意:未定義的索引:在162行的C:\ wamp \ www \ lamp \ main.php中的enrollment_number
- 17. 注意:未定義變量:DB_HOST在C:\瓦帕\ WWW \ cbmall \的index.php第7行
- 18. 注意:未定義變量
- 19. 未定義的變量:C:\ wamp \ www \ forms.php中的POST
- 20. 注意:未定義的變量:cur_order在
- 21. 注意:未定義變量:SERVER
- 22. 注意:未定義的索引:第11行的C:\ wamp \ www \ login.php中的分支
- 23. 錯誤:注意:未定義的偏移量:1在C:\ wamp \ www \ project \ php \ deleteRow.php在第55行
- 24. 注意:搜索和分頁未定義變量(自定義帖子類型)
- 25. 注意:未定義的變量:ID在9號線
- 26. 注意:未定義的變量:記錄
- 27. 注意:未定義的索引:變量
- 28. 注意:未定義的變量:插入
- 29. 獲得2注意:未定義的變量錯誤
- 30. 未定義的變量:第14行的C:\ wamp \ www \ demo.php中的db_selected
'$ post-> ID' - >'$ idd-> ID'? – Rizier123
最後一行真的是48行嗎?你試過什麼了? – belwood
問題的特徵是問題被擠壓進標題中,並且在問題主體中沒有其他解釋性信息,往往會被封閉。 – halfer