我有一个add_action
在函数中。php,该操作用于save_post
我正在运行的函数命名为set\\u attachment\\u url。我只是在帖子上获取第一个附件,并用该附件的URL设置一个自定义字段。
好消息是,当我从wp管理员添加内容时,一切都很好。但当我从iOS应用程序添加内容时,我不会得到相同的结果。我必须添加帖子,点击帖子,单击“更新”,然后THEN 它起作用了。
虽然我学得很快,但我对钩子和每一个钩子何时被解雇的了解还不够。任何人都能发现问题所在,为什么在iOS上insert不起作用,但在更新时会起作用。
以下是基本信息。。。
add_action( \'save_post\', \'set_attachment_url\', 10, 1 );
// process the attachment url
function set_attachment_url($post_id){
// get the post and status
$my_post = get_post($post_id);
$post_status = $my_post->post_status;
// if we are publishing
if($post_status == \'publish\'){
// check custom field -- this is what tells us if we need to process this photo or not
// if it does not have a photo_url then we need to work on it
$photo_url = get_post_meta($post_id, \'photo_url\', true);
// if no length, we need to fill it
if(!strlen($photo_url)){
// get the first attachment for this post
$args = array( \'post_type\' => \'attachment\', \'numberposts\' => 1, \'post_status\' => null, \'post_parent\' => $post_id );
$attachments = get_posts($args);
// set the attachment ID and get the photo url
$attachment_id = $attachments[0]->ID;
$photo_url = wp_get_attachment_url($attachment_id);
// update the custom field with the image source
update_post_meta( $post_id, \'photo_url\', $photo_url );
// set the featured image
update_post_meta( $post_id, \'_thumbnail_id\', $attachment_id );
}
}
}