• Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!

Страница товара во всплывающем окне

Image CMS

Igorsrt

Форумчанин
#1
Здравствуйте!
В Теме Wordpress уже присутствует функция Quick View - открытие карточки товара во всплывающем окне при нажатии на кнопку... Очень нужно, что бы товар открывался во всплывающем окне во всех случаях (т.е. что бы страница товара, как таковая, на сайте не отображалась, а при нажатии на товар во всех случаях появлялось всплывающее окно). Можно ли как-нибудь отредактировать файлы, что бы добиться такого эффекта?
Заранее спасибо.
 

searchingman

Гуру
Местный
#2
А как у вас будут индексироваться товары поисковиками, если как таковых карточек товаров вообще не будет, т.е. на них нельзя перейти из магазина?
 

Igorsrt

Форумчанин
#3
А как у вас будут индексироваться товары поисковиками, если как таковых карточек товаров вообще не будет, т.е. на них нельзя перейти из магазина?
Наверное, Вы правы, хотя в карте сайта эти страницы будут... но это уже другой вопрос :)
Стоит задача, что бы товар открывался во всплывающем окне. Я не очень силен в Woocommerce, а тем более PHP - поэтому прошу помощи.
 

Igorsrt

Форумчанин
#8
Здравствуйте всем еще раз!
Так и не добился пока успеха...(((
1. Нашел (вернее подсказали), где прописывается ссылка миниатюры товара (файл content-rpoduct.php <a href="<?php the_permalink(); ?>">)
2. Нашел, где вставляется кнопка "Quick View" (файл add-to-cart.php строка echo '<div class="quickview" data-id="'.$product->id.'"></div>';
3. Нашел еще в файле темы woocommerce.php функцию...
// Quick View Html
add_action('wp_ajax_porto_product_quickview', 'porto_product_quickview');
add_action('wp_ajax_nopriv_porto_product_quickview', 'porto_product_quickview');
function porto_product_quickview() {
global $post, $product;
$post = get_post($_GET['pid']);
$product = wc_get_product( $post->ID );
if ( post_password_required() ) {
echo get_the_password_form();
die();
return;
и т.д...
4. А больше ничего не нашел... Как мне изменить ссылку миниатюры товара, что бы открывалось всплывающее окно Quick View?
 

searchingman

Гуру
Местный
#9
Здравствуйте всем еще раз!
Так и не добился пока успеха...(((
1. Нашел (вернее подсказали), где прописывается ссылка миниатюры товара (файл content-rpoduct.php <a href="<?php the_permalink(); ?>">)
2. Нашел, где вставляется кнопка "Quick View" (файл add-to-cart.php строка echo '<div class="quickview" data-id="'.$product->id.'"></div>';
3. Нашел еще в файле темы woocommerce.php функцию...
// Quick View Html
add_action('wp_ajax_porto_product_quickview', 'porto_product_quickview');
add_action('wp_ajax_nopriv_porto_product_quickview', 'porto_product_quickview');
function porto_product_quickview() {
global $post, $product;
$post = get_post($_GET['pid']);
$product = wc_get_product( $post->ID );
if ( post_password_required() ) {
echo get_the_password_form();
die();
return;
и т.д...
4. А больше ничего не нашел... Как мне изменить ссылку миниатюры товара, что бы открывалось всплывающее окно Quick View?
Вы еще не учли JavaScript, который должен отрабатывать для '<div class="quickview" data-id="'.$product->id.'"></div>'

ИМХО: Учитывая, что используется премиум тема с которой еще требуется разобраться, то ваша "хотелка" тянет на полноценную задачу для разработчика.
Хотя может и найдутся альтруисты, которые поставят вашу премиум тему и с ней позанимаются. ;)
 

Igorsrt

Форумчанин
#10
Спасибо за ответ... Пытаюсь разобраться сам, но мозгов пока не хватает, поэтому и обращаюсь за советом к профессионалам... особенно "пугает" JavaScript...
вставил в ссылку <a href="" class="quickview" data-id="'.$product->id.'"> - всплывающее окно стало появляться, но пока пустое...чего-то еще не хватает((
 

Igorsrt

Форумчанин
#11
получается, осталось только эту data-id=" " в файле content-product.php получить... (потому что если вставить data-id="номер товара цифрами", то товар выводится)
 

searchingman

Гуру
Местный
#12
получается, осталось только эту data-id=" " в файле content-product.php получить... (потому что если вставить data-id="номер товара цифрами", то товар выводится)
ID товара совпадает с ID поста. Поэтому попробуйте задействовать функцию для вывода ID поста the_ID() .