我需要从该函数中获取第二个附件ID,并将其放入单独的自定义字段中:
add_action(\'pmxi_saved_post\', \'replace_thumbnail\', 10, 3);
function replace_thumbnail($id) {
$image_ids = array();
$media = get_attached_media( \'image\', $id );;
foreach($media as $item)
$image_ids[] = $item->ID;
$image_ids_str = implode(\',\',$image_ids);
update_post_meta( $id, \'_easy_image_gallery\', $image_ids_str );
}
有人能告诉我怎么做吗?
我知道如何将其更改为我想要的自定义字段,只是不知道如何挑出第二个或第三个ID。
我曾尝试将数字放在$image\\u id的方括号之间,但没有任何效果。不知从哪里开始。
我尝试在第三个foreach循环上添加一个停止。
add_action(\'pmxi_saved_post\', \'replace_thumbnail\', 10, 3);
function replace_thumbnail($id) {
$image_ids = array();
$media = get_attached_media( \'image\', $id );
$i=0;
foreach($media as $item){
$i++;
if($i==3) break;
}
$image_ids[] = $item->ID;
$image_ids_str = ($image_ids);
update_post_meta( $id, \'test_id\', $image_ids_str );
}
最合适的回答,由SO网友:s_ha_dum 整理而成
您的函数名为“replace\\u thumbnail”,因此我假设您正在尝试设置/替换帖子缩略图(特色图像):
function replace_thumbnail($id) {
$image_ids = array();
$media = get_attached_media( \'image\', $id );;
foreach($media as $item) {
$image_ids[] = $item->ID;
}
// insert your featured image
if (!empty($image_ids[1])) {
update_post_meta( $id, \'_thumbnail_id\', $image_ids[1] );
}
//
$image_ids_str = implode(\',\',$image_ids);
update_post_meta( $id, \'_easy_image_gallery\', $image_ids_str );
}
除此之外,您还可以使用任何其他钥匙
_thumbnail_id
如果我的假设是错误的。