Функция PHP запускается дважды

Я новичок в 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 ) ) ) {

}

2 вопроса: Разве нельзя просто сделать $test . '?w=211&h=172.jpg'? Также не уверен, почему у вас $src = 'src'. Разве это не должно быть просто 'src'?

Patrick Gregorio 26.09.2018 15:55

Спасибо за ваш ответ. Обе ваши точки верны (во-первых, числа являются переменной в реальном коде). Я думаю, что нашел решение своей проблемы, aparantly 'save_post' запускается дважды при сохранении. Поэтому добавляем проверку, чтобы увидеть, есть ли автосохранение / ревизия теперь, кажется, сохраняется только один раз

Phpnewb 26.09.2018 16:23
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
2
266
0

Другие вопросы по теме