• Перестали работать ссылки для записей в Wordpress. Что делать?

    @Gamelot
    Программист php
    Последовательно отключите плагины один-за-одним, не удаляя их. И каждый раз смотрите, восстановилась ли работа. Также в папке /wp-content/themes/theme_name посмотрите файл functions.php - нет ли там хуков add_filter() или add_action() - если есть, то не влияют ли они на поведение ссылок.
    Ответ написан
    Комментировать
  • Как получить файлы из медиафайлов по категории?

    @Gamelot
    Программист php
    Вообще, я всегда думал, что категории - это для визуальных (имеющих UI в админке) постов. Просто чисто технически - есть категории, и еще есть таксономии. А так, я никогда не видел, чтобы категории к картинкам-приложениям приделывали.
    Ответ написан
    Комментировать
  • Как создать слайдер WordPress Elementor?

    @Gamelot
    Программист php
    Вы можете 100% использовать такой - https://www.sliderrevolution.com/
    Единственное, я точно не скажу, есть ли там поворот слоев. Но слою можно установить css класс, а в стилях прописать свойство transform: rotate(-90deg);

    Для вставки используйте shortcode в блоке text или специальном компоненте для шорткодов.
    Ответ написан
    Комментировать
  • Почему гости сайта не видят блок upsell, а админ видит?

    @Gamelot
    Программист php
    Надо проверить шаблоны страницы, в которой у Вас стоит вызов этой функции. Дело либо в шаблоне страницы, в вызове этой страницы, либо внутри этой функции.

    Вот исходный код для Woo версии 6.7.0. Видим, что для вывода используется шаблон single-product/up-sells.php. Нужно заглянуть в него как в папке /wp-content/plugins/woocommerce/templates, так и в теме /wp-content/themes/theme_name/woocommerce/.

    Еще Вы можете видеть вызовы хуков - apply_filters(). В них тоже может быть проблема.

    Почему-то в коде я не вижу блок - if ( $upsells ) : Видимо, у Вас другая версия.

    function woocommerce_upsell_display( $limit = '-1', $columns = 4, $orderby = 'rand', $order = 'desc' ) {
    	global $product;
    
    	if ( ! $product ) {
    		return;
    	}
    
    	// Handle the legacy filter which controlled posts per page etc.
    	$args = apply_filters(
    		'woocommerce_upsell_display_args',
    		array(
    			'posts_per_page' => $limit,
    			'orderby'        => $orderby,
    			'order'          => $order,
    			'columns'        => $columns,
    		)
    	);
    	wc_set_loop_prop( 'name', 'up-sells' );
    	wc_set_loop_prop( 'columns', apply_filters( 'woocommerce_upsells_columns', isset( $args['columns'] ) ? $args['columns'] : $columns ) );
    
    	$orderby = apply_filters( 'woocommerce_upsells_orderby', isset( $args['orderby'] ) ? $args['orderby'] : $orderby );
    	$order   = apply_filters( 'woocommerce_upsells_order', isset( $args['order'] ) ? $args['order'] : $order );
    	$limit   = apply_filters( 'woocommerce_upsells_total', isset( $args['posts_per_page'] ) ? $args['posts_per_page'] : $limit );
    
    	// Get visible upsells then sort them at random, then limit result set.
    	$upsells = wc_products_array_orderby( array_filter( array_map( 'wc_get_product', $product->get_upsell_ids() ), 'wc_products_array_filter_visible' ), $orderby, $order );
    	$upsells = $limit > 0 ? array_slice( $upsells, 0, $limit ) : $upsells;
    
    	wc_get_template(
    		'single-product/up-sells.php',
    		array(
    			'upsells'        => $upsells,
    
    			// Not used now, but used in previous version of up-sells.php.
    			'posts_per_page' => $limit,
    			'orderby'        => $orderby,
    			'columns'        => $columns,
    		)
    	);
    }
    Ответ написан
  • Вывод данных в HTML в формате не простой таблицы?

    @Gamelot
    Программист php
    Даты надо приводить к формату unix timestamp. По сути, это integer. В этом формате можно находить разницу между датами, а также сравнивать даты между собой. Изучить материал можно здесь:

    Сравнивать можно как timestamp, так и объект Date(). Но первый вариант даже проще.
    Ответ написан
    Комментировать
  • Как отредактировать страницу каталога Wordpress Woocommerce?

    @Gamelot
    Программист php
    При установке woo может создаваться страница Магазин. Обычно у нее адрес /shop
    На этой странице может размещаться либо шорткод (описаны здесь - https://woocommerce.com/document/woocommerce-short...), либо компонент элементора для работы с woo.

    Посмотреть страницу каталога магазина на woo можно также в его настройках. Там, где прописываеся url корзины, checkout и др.
    Ответ написан
    Комментировать
  • Конфликт при создании post type wordpress?

    @Gamelot
    Программист php
    Приведите код конфликтующего плагина с функцией register_post_type(). И, возможно, будет более понятно, в чем дело.
    Ответ написан
    Комментировать
  • Почему выйдя из админки WP перестает работать запрос?

    @Gamelot
    Программист php
    Через WP_Query вы создаете петлю-запрос в Wordpress к базе данных на выборку определенного типа опубликованных постов 'post_type' => $postType. Кроме этого логическим условием 'relation' => 'AND' проверяется одновременное задание разных мета-полей (свойств) постов - 'meta_query'. Авторизация с этим никак не связана напрямую и в парсинг $query = new WP_Query($args); ее прямо передавать не требуется.

    Авторизация просто отделяет зарегистрированных юзеров (и админов) от обычных посетителей сайта.
    Ответ написан
    Комментировать
  • Woocommerce вывести кнопку добавить в корзину в нужном месте шаблона?

    @Gamelot
    Программист php
    Можно воспользоваться функцией woocommerce_template_single_add_to_cart(). Она использует глобальную переменную $product внутри себя. При этом также вылезет input с кол-вом заказываемого товара. Его можно скрыть на css. Для простого товара работает точно. Для других типов не проверял.

    <?php
    woocommerce_template_single_add_to_cart();
    ?>
    Ответ написан
    Комментировать