PHP函数运行两次

时间:2018-09-26 12:01:04

标签: php wordpress advanced-custom-fields

我对PHP相当陌生,因此我通过查找代码片段并将它们拼凑起来来编写代码。

我有一些代码可以通过URL进行屏幕截图,然后将该URL上传到WordPress媒体库。然后,将WordPress媒体文件中的图像URL放在自定义字段中。

以下代码有效,除了该代码将图像保存两次。

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 ) ) ) {

}

0 个答案:

没有答案