主要編輯:重新定義問題,因爲這可能會更容易解決......PHP/WordPress的:如何修改的foreach()輸出我的陣列以特定的方式
我試圖使用PHP代碼來生成JSON微觀數據在Wordpress中。我目前使用foreach()方法遍歷頁面上的帖子列表,將他們的縮略圖,標題和鏈接數據放入數組中,稍後我將該數組編碼爲JSON微數據。但是,我使用foreach()組裝的數組不會輸出我想要的數據。
我花了數小時試圖讓這部分數據輸出正確,但無濟於事。
-
我想實現(使用的print_r()來查看和測試我的PHP代碼) - 例如而不是索引號碼,如[0]
。 [1]
等等,我想每個陣列輸出[associatedMedia]
代替如下:
Array
(
[associatedMedia] => Array
(
[image] => http://www.website.com/thumbnail.jpg
[name] => post title
[url] => http://www.website.com/the-post
)
[associatedMedia] => Array
(
[image] => http://www.website.com/second-thumbnail.jpg
[name] => second post title
[url] => http://www.website.com/the-second-post
)
// And so on...
)
我現在的結果是:
Array
(
[0] => Array
(
[image] => http://www.website.com/first-thumbnail.jpg
[name] => first post title
[url] => http://www.website.com/the-post-one
)
[1] => Array
(
[image] => http://www.website.com/second-thumbnail.jpg
[name] => second post title
[url] => http://www.website.com/the-post-two
)
[2] => Array
(
[image] => http://www.website.com/third-thumbnail.jpg
[name] => third post title
[url] => http://www.website.com/the-post-three
) // And so on...
)
我的foreach方法:
// other PHP code
global $post;
global $wp_query;
$category = $wp_query->get_queried_object();
$args = array('category' => $category->cat_ID);
$posts = get_posts($args);
$post_details = array();
$i = 0;
foreach($posts as $post) {
setup_postdata($post);
$thumb_url = wp_get_attachment_image_src(get_post_thumbnail_id(),'thumbnail');
$post_thumbnails['image'] = $thumb_url[0];
$post_titles['name'] = get_the_title();
$post_links['url'] = get_permalink();
$post_details[$i]['image'] = $post_thumbnails['image'];
$post_details[$i]['name'] = $post_titles['name'];
$post_details[$i]['url'] = $post_links['url'];
$i++;
};
wp_reset_postdata();
print_r($post_details);
我只是開始進入更高級的編程,我相信我上面的代碼看起來很粗糙。所以任何幫助或提示如何我可以縮短它將不勝感激。
編輯:更多$post
相關的代碼添加
你在哪裏有'$ posts'from?你能給我們var_dump($ posts)'的結果嗎? – Tekay37
全局'$ post'變量是相對於你所在的頁面/文章。如果您位於存檔頁面上,請嘗試查看WordPress Loop和「WP_Query()」對象。 https://codex.wordpress.org/The_Loop –
我已經將我的代碼的這部分包含到了原始文章中。這有幫助嗎? – Sidders