Введите часть искомого слова, названия или фразы...
↑ ↓
  1. Новые темы озаглавленные с маленькой буквы - удаляются без предупреждения!
  2. Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!

Решено Картинка простого товара в сгруппированном товаре.

Тема в разделе "Вопросы новичков", создана пользователем dim70, 1 апр 2016.

  1. dim70

    dim70

    Сообщения:
    150
    Симпатии:
    11
    Баллы:
    18
    Добрый день! Вот этот код добавляет картинку к простому товару в составе сгруппированного:

    PHP:
    add_action( 'woocommerce_grouped_product_list_before_price', 'woocommerce_grouped_product_thumbnail' );

    function woocommerce_grouped_product_thumbnail( $product ) {
        $image_size = array( 70, 70 );  // array( width, height ) image size in pixel 
        $attachment_id = get_post_meta( $product->id, '_thumbnail_id', true );
        ?>
        <td class="label">
            <?php echo wp_get_attachment_image$attachment_id$image_size ); ?>
        </td>
        <?php
    }
    Как сделать так, чтобы эта выводимая картинка стала кликабельна, то есть чтобы при нажатие картинка увеличивалась? Пример http://www.alkomprof.ru/tovar/kollektsiya-plitki-city-london-proizvodstvo-cerrol-polsha/ 43434.JPG
     
  2. dim70

    dim70

    Сообщения:
    150
    Симпатии:
    11
    Баллы:
    18
    мне посоветовали использовать плагин Fancybox for WordPress. В этом плагине есть раздел "Extra FancyBox Calls (advanced)" который позволяет насколько я понял применять возможности плагина ко всем картинкам на странице сайта. Я использовал следующий код в разделе плагина "Extra FancyBox Calls (advanced)"
    PHP:
    jQuery(".label").fancybox({
      
    'transitionIn''elastic',
      
    'transitionOut''elastic',
      
    'speedIn'600,
      
    'speedOut'200,
      
    'type''iframe'
    }); 
    434124124.JPG

    какой-то результат получился - стало открываться модальное окно, но в нём не полное изображение картинки, как хотелось бы мне, а просто страница ошибки 404 http://www.alkomprof.ru/tovar/kollektsiya-plitki-talisman-31x60-proizvodstvo-saloni-ispaniya/. Как всегда истина, где то рядом, но пока ухватить её не могу. Помогите советом.
     
    Последнее редактирование: 2 апр 2016
  3. dim70

    dim70

    Сообщения:
    150
    Симпатии:
    11
    Баллы:
    18
    вариант решения как бы с другой стороны:
    PHP:
    add_action( 'woocommerce_grouped_product_list_before_price', 'woocommerce_grouped_product_thumbnail' );

    function woocommerce_grouped_product_thumbnail( $product ) {
        $image_size = array( 300, 300 );  // array( width, height ) image size in pixel
        $attachment_id = get_post_meta( $product->id, '_thumbnail_id', true );
        ?>
        <td class="label">
            <?php echo wp_get_attachment_image$attachment_id$image_size );


                  echo 
    '<a href="' $large_image_url[0] . '" title="' the_title_attribute('echo=0') . '" >';
       
    the_post_thumbnail('thumbnail'); // этот вот код я добавил
                  
    echo '</a>'

            
    ?>
        </td>
        <?php
    }
    и теперь выводится две маленьких картинки, одна под другой, и нижняя стала кликабельна, но снова ведёт не на полное изображение, а на страницу сайта. Как мне сделать, чтобы при нажатие на маленькую картинку, она становилась большой?
     
  4. dim70

    dim70

    Сообщения:
    150
    Симпатии:
    11
    Баллы:
    18
  5. dim70

    dim70

    Сообщения:
    150
    Симпатии:
    11
    Баллы:
    18
    неужели нет ни у кого никаких идей на этот счёт?
     
  6. dim70

    dim70

    Сообщения:
    150
    Симпатии:
    11
    Баллы:
    18
    скажите, мой вопрос очень сложный, что никто не смог ответить, или же наоборот очень простой?
     
  7. Rodrigez

    Rodrigez

    Сообщения:
    68
    Симпатии:
    14
    Баллы:
    8
    Код:
    add_action( 'woocommerce_grouped_product_list_before_price', 'woocommerce_grouped_product_thumbnail' );
    function woocommerce_grouped_product_thumbnail( $product ) {
        $image_size = array( 300, 300 );
        $attachment_id = get_post_meta( $product->id, '_thumbnail_id', true );
        ?>
        <td class="label">
            <?php echo '<a href="'. wp_get_attachment_image_url ( $attachment_id, "full" ) .'" title="'. the_title_attribute('echo=0') .'" >'. wp_get_attachment_image( $attachment_id, $image_size ). '</a>' ?>
        </td>
        <?php
    }
    Если не будет открываться попапом через fancybox попробуйте добавить в ссылку <a ... rel="fancybox" ... href
     
  8. dim70

    dim70

    Сообщения:
    150
    Симпатии:
    11
    Баллы:
    18
    поменял свой код на Ваш. после этого вместо 5 товаров с картинками стал отображаться всего один и без картинки
    было
    PHP:
    add_action( 'woocommerce_grouped_product_list_before_price', 'woocommerce_grouped_product_thumbnail' );

    function woocommerce_grouped_product_thumbnail( $product ) {
        $image_size = array( 70, 70 );  // array( width, height ) image size in pixel
        $attachment_id = get_post_meta( $product->id, '_thumbnail_id', true );
        ?>
        <td class="label">
            <?php echo wp_get_attachment_image$attachment_id$image_size ); ?>
        </td>
        <?php
    }
    21.JPG
    стало
    PHP:
    add_action( 'woocommerce_grouped_product_list_before_price', 'woocommerce_grouped_product_thumbnail' );
    function woocommerce_grouped_product_thumbnail( $product ) {
        $image_size = array( 300, 300 );
        $attachment_id = get_post_meta( $product->id, '_thumbnail_id', true );
        ?>
        <td class="label">
            <?php echo '<a href="'wp_get_attachment_image_url $attachment_id"full" ) .'" title="'the_title_attribute('echo=0') .'" >'wp_get_attachment_image$attachment_id$image_size ). '</a>' ?>
        </td>
        <?php
    }
    22.JPG
     
  9. Rodrigez

    Rodrigez

    Сообщения:
    68
    Симпатии:
    14
    Баллы:
    8
    Попробуйте варианты "full" заменить на 'full' или 'large' или wp_get_attachment_image_url (...) вообще на
    PHP:
    ... wp_get_attachment_image_url$attachment_id'') ...
     
  10. dim70

    dim70

    Сообщения:
    150
    Симпатии:
    11
    Баллы:
    18
    сделал, результат такой же :(
     
  11. dim70

    dim70

    Сообщения:
    150
    Симпатии:
    11
    Баллы:
    18
    вот если я использую такой вариант
    PHP:
    add_action( 'woocommerce_grouped_product_list_before_price', 'woocommerce_grouped_product_thumbnail' );

    function woocommerce_grouped_product_thumbnail( $product ) {
        $image_size = array( 70, 70 );  // array( width, height ) image size in pixel
        $attachment_id = get_post_meta( $product->id, '_thumbnail_id', true );
        ?>
        <td class="label">
            <?php echo '<a href="' $large_image_url[0] . '" title="' the_title_attribute('echo=0') . '" >';
       
    the_post_thumbnail('thumbnail');
                  echo 
    '</a>'
          
            
    ?>
    то получаю картинку кликабельной, title у картинки правильный появляется, но при нажатие на картинку открывается просто страница на которой находишься, http://www.alkomprof.ru/tovar/kollektsiya-plitki-akvarel-2-proizvodstvo-kerabud-rossiya/
     
  12. Rodrigez

    Rodrigez

    Сообщения:
    68
    Симпатии:
    14
    Баллы:
    8
    Не открывается потому что ссылка не вставляется вообще, там тупо код <a href title=..., т.е. ссылки href как таковой нет вообще. Я попробовал на тестовой площадке, мой код работает начиная с первого варианта и до последнего, непонятно почему у вас не срабатывает функция wp_get_attachment_image_url...

    В вашем первоначальном коде $large_image_url необъявлена, попробуйте такой код
    PHP:
    <?php
    add_action
    'woocommerce_grouped_product_list_before_price''woocommerce_grouped_product_thumbnail' );
    function 
    woocommerce_grouped_product_thumbnail$product ) {
        
    $attachment_id get_post_meta$product->id'_thumbnail_id'true );
        
    $large_image_url wp_get_attachment_image_srcget_post_thumbnail_id(), 'large' ); 
        
    ?>
        <td class="label">
            <a href="<?php echo $large_image_url[0];?>" title="<?php the_title_attribute(''); ?>"><?php the_post_thumbnail'thumbnail' );  ?></a>    
        </td>
        <?php
    }
     
    • Нравится Нравится x 2
  13. dim70

    dim70

    Сообщения:
    150
    Симпатии:
    11
    Баллы:
    18