Dmitriv
Ответы в темах
-
Вам можно старый адрес записи записывать в произвольное поле.
Для этого есть плагин https://ru.wordpress.org/plugins/custom-permalinks/add_filter( 'request', 'my_request' ); function my_request( $query_vars ){ if( !empty($_GET['page_id']) ){ $query_vars['page'] = ''; $query_vars['name'] = get_post($_GET['page_id'])->post_name; } return $query_vars; }Но проблема в том, как вы перенесете записи сохранением их ид? база данных будет создавать их совсем другие.
Форум: Проблемы и решения
Тема: Скрыть записи в комментахИспользуйте условный тег is_single()
Форум: Проблемы и решения
Тема: Скрыть записи в комментахТогда я тоже не понял вопроса.
Форум: Проблемы и решения
Тема: Скрыть записи в комментахМожно в произвольном поле указывать, где и что показывать.
Форум: Проблемы и решения
Тема: Скрыть записи в комментахУ родительского комментария comment_parent равен 0, вот от этого и отталкивайтесь.
$comment = get_comment( $comment_id); if(!$comment->comment_parent) { echo 'текст для первого комментария'; }Форум: Проблемы и решения
Тема: Рабочий слайдер на WP не работаетСтили куда добавили?
А две таксономии вы имеете в виду не связывать?
Связь по parent, тость в поле parent значения атрибута, записывается term_id названия атрибута.
т.е. у товара нужно выбирать и атрибуты отдельно и значения
Для товара указываются только значения атрибута, а название само подтянется, через parent.
При произвольных таблицах в БД фильтры тоже сами делали или какими-то наработками пользовались?
Сам
Я делал произвольные таблицы в БД для атрибутов, но это сложнее чем следующий вариант.
Есть вариант использовать для атрибутов только 2 таксономии. Одна для названий, вторая для значений атрибутов. Только тогда в админке все значения атрибутов будут в куче, и цвета и размеры, но их можно фильтровать по названиям атрибутов, которые должны были указаны при добавлении значения атрибута.
- Ответ изменён 5 лет, 3 месяца назад пользователем Dmitriv.
Форум: Проблемы и решения
Тема: get_termПопробуйте не указывать таксономию.
Если не заработает, то скорее всего результат работы функции изменен хуками.
Форум: Проблемы и решения
Тема: Как добиться идеального чпу?Ничего не понятно
$rules['^services/([^/]*)/?$'] = 'index.php?cpt_services_tag=$matches[1]'; $rules['^services/([^/]*)/?$'] = 'index.php?cpt_services_cat=$matches[1]';В таком виде и то и то работать не будет, будет что-то одно.
Указывайте разные префиксы.
—
'hierarchical' => false,у меток нету иерархии, по этому
все это не нужно$taxonomies = get_terms(array( 'taxonomy' => 'cpt_services_tag', 'hide_empty' => false )); foreach ($taxonomies as $taxonomy) { $taxonomy_slug = get_term_parents_list($taxonomy->term_id, 'cpt_services_tag', array( 'separator' => '/', 'format' => 'slug', 'link' => false, 'inclusive' => true )); $rules['^services/' . $taxonomy_slug . '?$'] = 'index.php?' . $taxonomy->taxonomy . '=' . $taxonomy->slug; }и тут ‘rewrite’ => array(‘slug’ => ‘services’, ‘hierarchical’ => true, ‘with_front’ => false),
‘hierarchical’ => true можно убрать, так как нет смысла
Форум: Проблемы и решения
Тема: Как добиться идеального чпу?services
Получается что у меток и категорий одинаковый префикс.
Делайте разные префиксы.
Если все же нужен одинаковый преф., то можно использовать
фильтр add_filter(‘request’,Нужно будет проверять slug по базе
Пример, проверяем slug в таксономии cpt_services_cat
$term = get_term_by('slug', 'тут слаг из урл', 'cpt_services_cat'); if($term ) { //если найдено, то изменить запрос $query_vars['cpt_services_cat'] = 'тут слаг из урл'; //если не найдено ищем в метках } else { $term = get_term_by('slug', 'тут слаг из урл', 'cpt_services_tag'); if($term ) { //если найдено, то изменить запрос $query_vars['cpt_services_tag'] = 'тут слаг из урл'; } }Только до этих проверок, нужно будет сделать еще проверки урл, например вхождение services, чтобы не делать запросы там где не нужно.
Форум: Проблемы и решения
Тема: Как добиться идеального чпу?Пытаюсь добавить, вторую таксономию, как теги, но чтобы я не делал, возникает 404 ошибка, либо структура ссылок ломается.
Куда пытаетесь добавить и что по этому урл должно открываться? ( запись, категория или фильтрация записей по категории и метке)
Можно, но так как префикс одинаковый у таксономии и товара, то для этого нужно будет проверять слаг name_of_product, товар это или категория. Тоесть нужно будет делать запросы в базу для проверки и по условиям изменять запрос.
Для изменения запроса в помощь фильтр https://wp-kama.ru/hook/request
Форум: Плагины
Тема: Дезинфекция, чтобы модераторам нравилось.$xfavi_cat_meta = array_map('sanitize_text_field', $_POST['xfavi_cat_meta']); foreach($xfavi_cat_meta as $key => $value){ if(empty($value)){ delete_term_meta($term_id, $key); continue; } update_term_meta($term_id, $key, $value); }Ну а вообще конечно странно, что не пропускают из-за этого плагин.