我的商店是WooCommerce。我目前正在尝试使它,以便如果我的商店中的产品使用占位符,它会自动设置为草稿。我也使它,使此代码找到没有图像的产品,它将应用$src中的图像主要是为了测试,所以我可以看到这部分至少是工作的我对PHP不是很熟悉,下面的代码是我发现的其他人的建议和方法的组合!
我已经删除了下面的数据保护的实际链接,并添加了一个假的。任何帮助是赞赏。
add_filter('woocommerce_placeholder_img_src', 'wp_kama_woocommerce_placeholder_img_src_filter');
function wp_kama_woocommerce_placeholder_img_src_filter($src) {
$src = 'https://domain/location/image.png';
$placeholder_image = get_option('woocommerce_placeholder_image', 0);
$args = array('post_type' => 'product', 'posts_per_page' => - 1, 'post_status' => 'publish', 'fields' => 'ids', 'meta_query' => array(array('ID' => $post->ID, 'post_status' => 'publish',)),);
if (!empty($placeholder_image)) {
if (is_numeric($placeholder_image)) {
$image = wp_get_attachment_image_src($placeholder_image, $size);
if (!empty($image[0])) {
$src = $image[0];
$loop_arg = new WP_Query($args);
$loop_ids = $loop_arg->posts;
foreach ($loop_ids as $loop => $loop_id) {
wp_update_post(array('ID' => $loop_id, 'post_status' => 'publish'));
wp_reset_query();
}
}
} else {
$src = $placeholder_image;
$loop_arg = new WP_Query($args);
$loop_ids = $loop_arg->posts;
foreach ($loop_ids as $loop => $loop_id) {
wp_update_post(array('ID' => $loop_id, 'post_status' => 'draft'));
wp_reset_query();
}
}
}
return $src;
}
return apply_filters('woocommerce_placeholder_img_src', $src);
1条答案
按热度按时间z31licg01#
更新:如果有人需要它,我得到了这个代码的工作。这个代码将检查我的产品,如果它有一个图像,它将发布它,如果没有,它将起草。