Я пытаюсь обновить значение в настраиваемом поле сообщения (функция для проверки всех сообщений) после того, как автор сообщения изменил свой локальный аватар.
В каждом сообщении есть специальное настраиваемое поле, которое извлекает URL-адрес локального аватара автора сообщения (это не граватар и не значки wp по умолчанию). Теперь пользователи (авторы) могут заменить свой аватар, который хранится как user_meta в ключе «avatar_image_id».
Я хотел бы обновить значение настраиваемого поля / мета-сообщения post «avatar» новым URL замененного изображения. Пока у меня есть этот код в функциях темы. php, но я не возвращаю никакого значения: /. Вы можете помочь?
//Update avatar custom field post meta function
function update_avatar_meta() {
$args = array(
'post_type' => 'post', // Only get the posts
'post_status' => 'publish', 'draft', 'pending', 'future', 'trash', 'auto-draft', 'inherit', // Only the posts that are in these status
'posts_per_page' => -1, // Get every post
'post_author' => 'the_author'
);
//Find ID of attachment saved user meta and get URL
$saved_id = get_the_author_meta( ID, 'avatar_image_id', true );
//return url saved image
return wp_get_attachment_url( $saved_id );
$posts = get_posts($args);
foreach ( $posts as $post ) {
// Run a loop and update every meta data
update_post_meta( $post->ID, 'avatar', $saved_id);
}
}
// Hook into init action and run our function
add_action('init','update_avatar_meta');