我正在將自定義管理表列添加到名為“程式”的自定義帖子型別。
我創建了一個 acf 影像欄位,該欄位設定為陣列的回傳值。
“程式”有兩個帖子,每個帖子都有一個選定的影像。其他兩個帖子沒有選擇影像,所以我動態添加了后備影像。
當影像顯示在列中時,它們被輸出兩次?

當我執行 `print_r($selected_image)` 時,我看到它在陣列中輸出兩個 id,大寫 ID 和小寫 id

我正在使用 foreach 回圈,因為我想從多個帖子中獲取多個影像,那么 foreach 回圈是否會以某種方式創建此問題?我錯過了什么嗎?
代碼:
function cpt_columns_content($column_id, $post_id) {
$selected_image = get_field('archive_background_image');
$size = 'xsm_thumbnail';
if ($column_id == 'last_modified') {
echo get_post_field('post_modified', $post_id);
}
else if ('post_thumbs') {
if (has_post_thumbnail()) {
the_post_thumbnail('xsm_thumbnail');
}
// foreach loop to output selected acf image field image from each post
else if (!empty($selected_image)) {
foreach ($selected_image as $image_id) {
echo wp_get_attachment_image($image_id, $size);
}
}
else if (!has_post_thumbnail()) {
echo wp_get_attachment_image(156, 'xsm_thumbnail');
//echo wp_get_attachment_image_src(156, 'archive_thumbnail')[0];
} else { ... }
}
}
add_action('manage_program_posts_custom_column', 'cpt_columns_content', 10, 2);
uj5u.com熱心網友回復:
我看到它在陣列中輸出兩個id,大寫ID和小寫ID
這只是默認的 WordPress 行為,它提供了兩個版本,因此開發人員可以使用任何一種拼寫來訪問任何帖子的 id 屬性。
當影像顯示在列中時,它們被輸出兩次?
因為您正在回圈遍歷兩個 ID……然后是更多的東西。
你不應該$selected_image在這里回圈。那是一個檔案的資料。您當前的代碼在兩個ID和上回圈id(因此您得到兩個影像) - 然后將繼續回圈title,filename等等。這根本沒有意義,您會將值History作為影像 id傳遞給wp_get_attachment_image下一個。
這應該只是
echo wp_get_attachment_image($selected_image['id], $size);`
沒有任何回圈。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/441391.html
