Woocommerce - удалить заполнителя изображения по умолчанию? [закрытый]

Как я могу показать изображения для просто некоторых объектов, но не для других?

Я работаю над меню ресторана с заказом онлайн, отображая меню блюд (woocommerce продукты) с shortcodes - например, [product_category категория = "начинающие" orderby = порядок "даты" = "asc"] и т.д.

Много объектов не требует изображения, но я нашел, что, если продукт не имеет изображения assosciated с ним затем woocommerce автоматически, добавляет ужасного заполнителя к спискам.

Я могу выключить все миниатюры, но мне все еще нужна поддержка миниатюры любых продуктов, которые действительно требуют изображения.

Если я удаляю изображение заполнителя по умолчанию, оно заменяется текстом "заполнитель"!

Если я заменяю их заполнителя маленьким прозрачным .png затем, это увеличено масштаб к любому размеру, который ползунки, создавая нежелательного, "пропускающего изображение" разрыв.

Никакая идея, что еще попробовать?Спасибо

1
05.08.2013, 10:42
3 ответа

woocommerce_template_loop_product_thumbnail является сменным, таким образом, можно переопределить его с собственным кодом. Любое время Вы видите функцию где угодно в установке WordPress, которая похожа на это:

if ( ! function_exists( 'woocommerce_template_loop_product_thumbnail' ) ) {

/**
 * Get the product thumbnail for the loop.
 *
 * @access public
 * @subpackage  Loop
 * @return void
 */
function woocommerce_template_loop_product_thumbnail() {
    echo woocommerce_get_product_thumbnail();
}
}

if ( ! function_exists('something' ) ) проверка указывает на сменную функцию, которую можно переопределить путем создания функции того же имени в Вас тема или дочерняя тема.

Функция Woo по существу показывает миниатюру, если она существует и заполнитель, если бы она не делает, таким образом, необходимо было бы просто устранить ту часть в собственной версии, как так:

function woocommerce_template_loop_product_thumbnail() {
    global $post;
    if ( has_post_thumbnail() )
          echo get_the_post_thumbnail( $post->ID, 'shop_catalog' );
}
6
19.02.2020, 22:43
  • 1
    Спасибо за что Helga (викинг) :) И благодарит занять время для объяснения, как и почему это работает - очень полезный –  speedypancake 05.08.2013, 19:02

Найденный ответом в другом месте http://www.peterrknight.com/woocommerce-tutorial-better-product-listings-for-imageless-products-part-1/, который я включаю. Мог, вероятно, быть приведен в порядок или упрощен, но, кажется, работает отлично путем удаления заполнителя изображения по умолчанию для любых продуктов, которые не имеют изображения:

function before_imageless_product() {
if( !has_post_thumbnail( get_the_id() ) ){
    remove_action( 'woocommerce_before_shop_loop_item_title', 'woocommerce_template_loop_product_thumbnail', 10 );
    echo '<div class="no-image">';
}
}
add_action( 'woocommerce_before_shop_loop_item', 'before_imageless_product', 9 );

function after_imageless_product() {
if( !has_post_thumbnail( get_the_id() ) ){
    add_action( 'woocommerce_before_shop_loop_item_title',      'woocommerce_template_loop_product_thumbnail', 10 );
    echo '</div>';
}
}
add_action( 'woocommerce_after_shop_loop_item', 'after_imageless_product', 9 );
2
19.02.2020, 22:43
  • 1
    спасибо за код, работает отлично для продуктов. Существует ли способ изменить это для категорий продуктов вместо этого? –  Richard Mišenčík 13.12.2018, 13:33

это - простой способ удалить изображение значения по умолчанию заполнителя. просто выполните шаги:

1: перейдите в к woocommerce плагину
2: перейдите в templates папка
3: затем перейдите в single product папка

там Вы найдете product-image.php файл. откройте его и только удалите ниже упомянутого кода

 else {
   echo apply_filters( 'woocommerce_single_product_image_html', sprintf( '<img src="%s" alt="Placeholder" />', woocommerce_placeholder_img_src() ), $post->ID );
 }

Ваша проблема будет, решают.:)

спасибо

-2
19.02.2020, 22:43
  • 1
    Вы никогда не должны взламывать ядро WP, тему и сменные файлы (по крайней мере, не, если существуют другие пути). Как только Вы обновляете плагин и т.д., Ваших изменений не стало. –  tfrommen 19.12.2013, 14:39

Теги

Похожие вопросы