我正在尝试获取一个插件来读取附件的帖子元数据,并使用它来更新它所附加的帖子的内容。我在我的主题 function.php 中使用以下内容:
add_action( 'afip_created_post', 'get_desc', 10, 2 );
function get_desc( $post_id, $attachment_id ) {
$postmeta = get_post_meta ($attachment_id, '_wp_attachment_metadata', true);
$meta = $postmeta['image_meta'];
$mmwwdesc = $meta['description'];
wp_update_post( array( 'ID' => $post_id, 'post_content' => $mmwwdesc ) );
}
然后在插件中使用这一行来挂钩函数
do_action( 'afip_created_post', $new_post_id, $post_id );
如果我用另一个帖子中的数字(即“15”)填写变量“$attachment_id”,我会将描述插入到已发布的帖子中。如果我将输出更改为,wp_update_post( array( 'ID' => $post_id, 'post_content' => $attachment_id ) );
我会在已发布帖子的正文中得到回显的 id 号。我不明白为什么原始代码不起作用,因为 $attachment_id 似乎已正确定义。我只是 php 的初学者。有什么明显的我做错了吗?变量$attachment_id
应该在返回时被回显,还是类似的技术?
背景:我正在使用两个 wordpress 插件,一个称为媒体元数据工作流向导 (MMWW),另一个称为自动特色图像发布 (AFIP)。MMWW 提取图像元数据并将其作为后期元数据写入数据库。AFIP 使用上传的媒体创建新帖子,并将每个图像附加到帖子,将其设置为帖子缩略图。我不认为这是调用函数时元数据未准备好的问题,因为 AFIP 在媒体上传后创建帖子,并将其元数据写入数据库。在它已经创建之后,我还将我的功能作为帖子的更新挂钩。
我进行了广泛的搜索,反复试验,但没有成功。有人可以帮帮我吗?
谢谢!