get second ID from array

时间:2015-12-22 作者:LukeJonGibson

我需要从该函数中获取第二个附件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 );
}

1 个回复
最合适的回答,由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 如果我的假设是错误的。

相关推荐

无法在模板函数.php中使用IS_HOME

我试图在标题中加载一个滑块,但只在主页上加载。如果有帮助的话,我正在使用Ultralight模板。我正在尝试(在template functions.php中)执行以下操作:<?php if ( is_page( \'home\' ) ) : ?> dynamic_sidebar( \'Homepage Widget\' ); <?php endif; ?> 但这行不通。现在,通过快速的google,我似乎需要将请