Я довольно новичок в PHP, поэтому я пишу свой код, находя фрагменты кода и пытаясь собрать их вместе.
У меня есть код, который делает снимок экрана по URL, а затем загружает этот URL в WordPressМедиа библиотека.URL-адрес изображения из медиа-файла WordPress затем помещается в настраиваемое поле.
Следующий код работает, за исключением того, что код сохраняет изображение дважды.
function wpscreen($post_id) {
$test = "https://www.google.com/";
$testurl = 'https://s.wordpress.com/mshots/v1/' . $test . '?w=' . '211' . '&h=' . '172' . '.jpg';
$desc = get_the_title($post_id);
$new_image_url = media_sideload_image($testurl, $post_ID, $desc, $src = 'src' );
}
add_action( 'save_post', 'wpscreen' );
Я предполагаю, что это потому, чтоЯ вызываю переменную $new_image_url
во второй раз, но я не уверен, как получить URL-адрес в моем настраиваемом поле.
Любая помощь очень ценится.
РЕДАКТИРОВАТЬ Я сделал код проще, но изображение все равно загружается дважды.
РЕДАКТИРОВАТЬ 2 (Решение) Видимо Save_post
выполняется дважды (иногда / всегда?).Добавив следующий код вокруг моего кода, он работал нормально.
if( ! ( wp_is_post_revision( $post_id) || wp_is_post_autosave( $post_id ) ) ) {
}