• Как в WordPress присвоить категорию для 20 000 записей?

    wppanda5
    @wppanda5 Куратор тега WordPress
    WordPress Mедведь
    // получить слаг
    $url_path = parse_url( $url, PHP_URL_PATH );
    $slug = pathinfo( $url_path, PATHINFO_BASENAME );
    //получит пост
     $args=array(
            'name' => $slug,
            'post_type' => $post_type,
            'posts_per_page' => 1
        );
        $post = get_posts( $args );
    //получить ID
    $post_ID = !empty($post->ID) ? $post->ID: false;

    Зная ID дальше уже не тяжело.
    Для 20к записей я бы обернул это дело в Ajax и прогнал бы массив с урлами через него. Правда оно не быстрое и от возможностей вашего сервера может занять больше 5 минут
    Ответ написан
    Комментировать
  • Как закомментировать код с частью самого кода?

    EYPPNM
    @EYPPNM Автор вопроса
    I'm not gonna tell you about anything, here
    1. Выделить одно двоеточие после первого свойства
    2. Выделить все остальные двоеточия многократным нажатием Ctrl + D
    3. Нажать стрелку влево для смещения мульти-курсора левее от двоеточия
    4. Нажать Shift + Home чтобы веделить все свойства от конца до начала каждой строки
    5. Нажать Ctrl + C чтобы скопировать все свойства в буфер обмена
    6. Нажать Ctrl + Enter чтобы добавить пробел между каждой строкой
    7. Нажать Ctrl + . чтобы создать новый комментарий
    8. Написать текст
    9. Нажать Ctrl + V что-бы вставить из буфера строки
    5cc71287bc945801991573.gif
    Ответ написан
    Комментировать
  • Чем и как удобнее заполнять и редактировать поля изображений (title, alt, description) в WP?

    1. Загружать файлы в библиотеку и заполнять данные о нем на странице вложения, там больше места - https://take.ms/MT4yQ
    2. Поставить плагин admin column pro, загрузить все изображения разом в медиабиблиотеку, а потом удобно массово править описание и альты в разделе «медиафайлы» — https://take.ms/sVUDO
    3. Подправить стили консоли так, чтобы сделать поля на вашем скриншоте нужного размера и удобными для заполнения — https://take.ms/PvSQW
    Ответ написан
    2 комментария
  • Как сделать фильтр по аттрибутам в woocommerce?

    wppanda5
    @wppanda5 Куратор тега WordPress
    WordPress Mедведь
    Атрибуты это термины таксономий,
    Соответственно получить таксономии продукта, пройтись циклом вывести их термины в виде чекбоксов, все это завернуть в форму.
    В обработчике формы к текущему массиву аргументов запроса добавляете необходимые параметры tax_query все это оформляете виджетом.

    Могут быть еще индивидуальные атрибуты товаров, там точно так же но с произвольными полями
    Ответ написан
    5 комментариев
  • Woocommerce как настроить оформление категории товаров?

    MaximusDem
    @MaximusDem
    Начинающий разработчик
    1) Быстрый просмотр можно реализовать с помощью плагина, например YITH WooCommerce Quick View, а потом стилизировать его кнопку(Быстрый просмотр), как надо:
    2) Характеристики товара (атрибуты и т.д), можно вывести через functions.php
    Например
    function my_template_loop_product_title(){
        global $product;
        echo '<h3 itemprop="name" class="product_title entry-title">';
        $versionvalues = get_the_terms( $product->id, 'pa_model');
     
        foreach ( $versionvalues as $versionvalue ) {
             echo $versionvalue->name;
        }
        echo '</h3>';
    }
    add_action( 'woocommerce_shop_loop_item_title', 'my_template_loop_product_title', 10 );

    Здесь есть pa_model, где model - слаг вашего атрибута, который вы хотите вывести;
    3) По поводу видимости элементов при наведении.
    Можно попробовать реализовать таким образом:
    а) В обычном состоянии элементам, которые надо скрыть пропишите display: none;
    например, .product_wrapper .product {display: none}, где .product_wrapper - родительский элемент, а .product - дочерний (тот, который находится внутри блока).
    б) В состоянии наведения (как у вас на скрине) надо отобразить нужные элементы, которые ранее были скрыты :hover {display: block;}
    Например, .product_wrapper .product:hover {display: block;}
    в) Можно еще и анимацию появления прописать (в инете много статей по этому поводу есть, смотрите css 3 анимация)
    Уточню только что классы .product_wrapper и .product я написал для примера, у вас могут быть другие)
    Ответ написан
    4 комментария
  • Как отловить событие в другой книге Excel?

    Qwentor
    @Qwentor Автор вопроса
    Веб-программист
    Private WithEvents App As Application
    
    Private Sub Workbook_Open() ' открытие книги
         Set App = Application
    End Sub
    
    Private Sub App_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
        If Sh.Name = "Поиск" Then
           'Действия
        End If
    End Sub
    Ответ написан
    Комментировать
  • Как подключить свой кастомный слайдер вместо стандартного woocommerce flexslide?

    @weart
    Я тоже слик использую в товаре.

    Нужно всего лишь сделать свой шаблон product-image.php с нужной разметкой и классами, на который повесить слик (верстку придется подогнать ну и использовать вертикальные превьюшки в слике)

    5c7ed467aea5d217008734.png

    Ну и отключить ненужное:

    remove_theme_support( 'wc-product-gallery-zoom' );
    remove_theme_support( 'wc-product-gallery-lightbox' );
    remove_theme_support( 'wc-product-gallery-slider' );
    Ответ написан
    6 комментариев
  • Как работает кеширование в WordPress?

    lamer350
    @lamer350
    กำลังสูงสุด
    Комментировать
  • Сортировка по кастомному полю WordPress?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    1. У WP_Query нет и никогда не было аргумента 'hide_empty'. Этот аргумент у таксономий встречается, в WP_Term_Query. Соответственно, его значения true или false никакого эффекта не дадут, он игнорируется. Уберите его.
    2. 'meta_key' => 'sort' инструктирует WP_Query в первую очередь выбрать записи, у которых данное мета-поле есть.
    Сортировка происходит (условно) после выборки, сортируются те результаты, которые соответствуют условиям выборки, в данном случае это записи у которых мета-поле sort существует.
    3. Попробуйте вот так:
    $args = [
    	'meta_query' => [
    		'relation' => 'AND',
    		'meta_exists_clause' => [
    			'key'     => 'sort',
    			'compare' => 'EXISTS',
    		],
    		'meta_value_clause' => [
    			'key'  => 'sort',
    			'type' => 'numeric',
    		],
    	],
    	'orderby' => [
    		'meta_exists_clause' => 'ASC',
    		'meta_value_clause'  => 'DESC',
    	],
    ];
    Ответ написан
    1 комментарий
  • Как в WP разрешить чтение постов с другим статусом?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Плагин не плагин, а регистрируется post_status в конечном итоге с помощью функции register_post_status. Как и многие другие функции WP, она принимает ряд аргументов, в том числе такие:

    public
    (bool) (optional) Whether posts of this status should be shown in the front end of the site.
    Default: false

    internal
    (bool) (optional) Whether the status is for internal use only.
    Default: false

    private
    (bool) (optional) Whether the posts of this status should be accessible by their urls.
    Default: false


    Эти аргументы определяют, будет ли доступен данный статус на фронтенде и будут ли генерироваться ЧПУ. Скорее всего плагин конфигурирует их как приватные, поэтому они недоступны. Есть 3 варианта (возможных):

    1. В самом плагине есть возможность перенастроить эти свойства под себя.
    2. Плагин предоставляет фильтр, с помощью которого можно изменить эти аргументы.
    3. Менять эти аргументы напрямую в определении статусов, через глобальный доступ (фильтрами тут WordPress, увы, не радует):

    function make_archived_status_public()
    {
    	global $wp_post_statuses;
    
    	// Меняем public на true
    	$wp_post_statuses['archived']->public = true;
    
    	// Повторяем для других аргументов, если нужно
    	// ...
    }
    add_action( 'init', 'make_archived_status_public' );
    Ответ написан
    8 комментариев
  • Как поменять роль пользователя при регистрации в Woocommerce?

    Newn
    @Newn Автор вопроса
    Если кому пригодиться
    add_action( 'woocommerce_created_customer', 'my_user_registration' );
    function my_user_registration($uid) {
        wp_update_user( array( 'ID' => $uid, 'role' => 'name_role' ) );
    }
    Ответ написан
    2 комментария
  • Как подключить к wordpress jquery-ui.min.js?

    Отвечаю на вопрос как подключить, вот так:
    wp_enqueue_script( 'scripts-query', get_template_directory_uri() . '/assets/js/jquery-ui.min.js',array( 'jquery' ), null, true);


    где '/assets/js/jquery-ui.min.js' - путь к файлу на вашем хостинге
    get_template_directory_uri() - путь до вашей темы
    это загрузка в футере, если нужна в хедере, то вместо true, напишите false

    размещать в functions.php но наверно Вы это уже знаете

    Если вопрос как отключить встроенный скрипт:
    Вам уже подсказали, замечу только, что отключать надо:
    --- смотрите файл ---
    functions.wp-scripts.php
    $no = array(
    			'jquery', 'jquery-core', 'jquery-migrate', 'jquery-ui-core', 'jquery-ui-accordion',
    			'jquery-ui-autocomplete', 'jquery-ui-button', 'jquery-ui-datepicker', 'jquery-ui-dialog',
    			'jquery-ui-draggable', 'jquery-ui-droppable', 'jquery-ui-menu', 'jquery-ui-mouse',
    			'jquery-ui-position', 'jquery-ui-progressbar', 'jquery-ui-resizable', 'jquery-ui-selectable',
    			'jquery-ui-slider', 'jquery-ui-sortable', 'jquery-ui-spinner', 'jquery-ui-tabs',
    			'jquery-ui-tooltip', 'jquery-ui-widget', 'underscore', 'backbone',
    		);
    Ответ написан
    Комментировать
  • Как изменить сортировку записей в Wordpress?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Изменение параметров запроса до его выполнения делается на хуке pre_get_posts:
    function posts_default_order( $query )
    {
        // Прекращаем выполнение, если это не главный запрос и мы не в админке.
        if( ! $query->is_main_query() || ! is_admin() ) {
            return;
        }
    
        // Значения: date/post_date, modified/post_modified.
        $query->set( 'orderby', 'date' );
        $query->set( 'order', 'DESC' );
    }
    add_action( 'pre_get_posts', 'posts_default_order' );
    Ответ написан
    6 комментариев
  • Документы с разметкой в VS Code?

    Vlad_IT
    @Vlad_IT Куратор тега HTML
    Front-end разработчик
    Мне нравится markdown, даже есть расширение https://code.visualstudio.com/docs/languages/markdown
    т.е. текст вы пишите обычным текстом, без редактора, а различные стили, заголовки, код, можно описывать на языке разметки markdown (как с html только проще). А рядом с редактором будет открыто окошко предпросмотра, в котором будут применены все стили вашего текста.
    пример
    preview-scroll-sync.gif
    Ответ написан
    Комментировать
  • Как отключить оповещение на е-майл, регистрация нового пользователя?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Вот список всех ситуаций и писем, которые WP рассылает: https://gist.github.com/johnbillion/0a48021de5510c...
    В описании каждого письма есть инструкция как его отключить. Например, чтобы отключить все письма при регистрации нового пользователя:
    remove_action( 'register_new_user', 'wp_send_new_user_notifications' );

    Впрочем, пользователю желательно отправлять. Давайте отключим только администратору:
    remove_action( 'register_new_user', 'wp_send_new_user_notifications' );
    add_action( 'register_new_user', 'notify_only_user' );
    
    function notify_only_user( $user_id, $notify = 'user' )
    {
        wp_send_new_user_notifications( $user_id, $notify );
    }
    Ответ написан
    Комментировать
  • Как добавить поля в формы редактирования категорий WooCommerce WordPress?

    @3zweb
    Может пригодится - Ссылка
    Ответ написан
    Комментировать
  • Как быстро поднять интернет-магазин на WooCommerce?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Здравствуйте!
    Как я понял у вас имеется уже верстка. Осталось для начала создать тему, а потом уже адаптировать под Woocommerce.
    https://codex.wordpress.org/Theme_Development
    Создайте тему -
    создайте файл style.css и добавьте:
    /*   
    Theme Name: MyTheme
    Theme URI: mytheme.loc
    Description: Individual WP Theme
    Author: AuthorName
    Author URI: mytheme.loc
    Version: 1.0
    */

    Внесите свои правки...

    Создайте файл functions.php и подключите все скрипты, стили и шрифты через код. Например,
    // подключаем стили и скрипты
    function register_styles_scripts() {
    	//стили
    	wp_enqueue_style('customCSS', get_template_directory_uri() .
    		'/custom.css');
    	
    	//скрипты
    	wp_enqueue_script('jquery', get_template_directory_uri() .
    		'.js/script.js');
    }
    add_action('wp_enqueue_scripts', 'register_styles_scripts');


    Создайте необходимый набор файлов рнр (index.php, header.php, footer.php, page.php, single.php, archive.php). Смотря, какие страницы вам нужны...
    https://developer.wordpress.org/themes/basics/temp...

    Создайте меню в functions.php Например:
    register_nav_menu ('menu', 'Main menu');
    и выведите меню через - wp_nav_menu()
    https://wp-kama.ru/function/register_nav_menu
    https://wp-kama.ru/function/wp_nav_menu

    Включите поддержку миниатюр для записей -
    add_theme_support( 'post-thumbnails' );

    Далее по шаблонам:
    - вставляем <?php wp_head(); ?> перед </head>
    - вставляем <?php wp_footer(); ?> перед </body>
    - Копируем header вырезаем и вставляем в header.php
    - Взамен добавляем код <?php get_header(); ?>
    - Копируем sidebar вырезаем и вставляем в sidebar.php
    - Взамен добавляем код <?php get_sidebar(); ?>
    - Копируем footer вырезаем и вставляем в footer.php
    - Взамен добавляем код <?php get_footer(); ?>
    - в index.php изменяем url изображений на <?php bloginfo('template_url'); ?>/
    - вставляем между <title><?php bloginfo('name');?> | <?php wp_title(); ?></title>


    В шаблоны добавьте цикл ВП:
    <?php if (have_posts()) :  while (have_posts()) : the_post(); ?>
    
    <?php the_content (); ?>
    
    <?php endwhile; ?>
    <?php endif; ?>


    После этого можно приступать к адаптации вукомерца.

    Для корректного применения стилей вукомерца в тег body надо добавить body_class()
    https://wp-kama.ru/function/body_class

    Далее установите плагин Woocommerce. В папке с плагином есть папка templates. Скопируйте ее в директорию вашей темы и переименуйте в woocommerce

    Цикл вукомерца отличается от стандартного цикла ВП. Подробная информация:
    https://docs.woocommerce.com/document/third-party-...

    Шаблоны вукомерца работают используют хуки. Используйте их для кастомизации.
    https://docs.woocommerce.com/document/introduction...
    Ответ написан
    3 комментария
  • Как отсортировать посты в категории по дочерним категориям?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Запросто!
    Вот, готовый код. Адаптируйте под себя.
    https://gist.github.com/DevinWalker/6fb2783c05b46a...
    Используете 2 цикла. 1 получает термины таксономии, второй цикл получает записи этого термина.
    Получится
    Категория 1
    Запись 1
    Запись 2
    ----------
    Категория 2
    Запись 1
    Запись 2
    ----------
    Ответ написан
    1 комментарий