hedgehog
-
Posts
1,110 -
Joined
-
Last visited
-
Days Won
14
Content Type
Profiles
Forums
Calendar
Store
Posts posted by hedgehog
-
-
В 1/24/2017 в 16:07, Николя223 сказал:
А вам не кажется что вы предлагаете тоже самое только с другого ракурса?)
Не кажется. Подменять raw query это крайний случай, когда нет других способов. Тем более, в вашем примере лимиты указаны неправильно - будут показываться все те же 20 постов каждый раз, на любой странице, см LIMIT: https://dev.mysql.com/doc/refman/5.7/en/select.html
В 1/24/2017 в 16:07, Николя223 сказал:Я сталкивался с такой проблемой.
он пишет о том что не работает wp_pagenavi()
так как он перезатирает предыдущий запрос.
А конкретнее - потому что в новый запрос не передается "paged" поэтому он всегда отображает последние 20 постов. А передавать этот параметр в этом конкретном случае особого смысла нет: в некоторых случаях будет 404я ошибка, например если значение posts_per_page в новом запросе меньше, чем в оригинальном запросе.
Задача простая: задать posts_per_page ДО выполнения основного запроса. Либо указав значение в Settings>Readings, либо используя тот же pre_get_posts (если нужно изменить только для конкретного случая, например для отображения терминов в таксономии book)
Пример для таксономии book:
add_action('pre_get_posts', 'posts_per_book_tax_page'); function posts_per_book_tax_page($query) { if ( is_admin() || !$query->is_main_query() ) return; if ( $query->is_tax('book') ) $query->set('posts_per_page', 20); }
Больше про Conditional Tags (а-ля is_tax): https://codex.wordpress.org/Conditional_Tags
PS: Проверкa на is_main_query() ОБЯЗАТЕЛЬНА.
PPS: кстати, в 4.1 добавили свою функцию: the_posts_pagination
Главный вопрос: вся эта музыка с лимитом 20 постов на страницу - затевается для ВСЕХ страниц, или для конкретных? Если для конкретных - то для каких (категории, теги, иные архивы)?
-
Нужно немного почитать про Loop: https://www.elegantthemes.com/blog/tips-tricks/the-wordpress-loop-explained-for-beginners
Вывод статей по рубрике/тегу происходит автоматически при открытии страницы тега или рубрики. Как это работает: https://developer.wordpress.org/themes/basics/template-hierarchy/
Если нужно вывести посты по тегу или категории ВНЕ стандартных шаблонов, то нужно почитать про WP_Query, get_posts и в принципе про циклы:
https://codex.wordpress.org/The_Loop#Multiple_Loops_in_Action
https://codex.wordpress.org/Class_Reference/WP_Query -
Параметр paged передается? Если не хочется заморачиваться, можно поставить плагин WP Pagenavi, который умеет генерить ссылки для навигации. Просто где-нибудь внизу/вверху страницы добавить код а-ля:
<?php if ( function_exists('wp_pagenavi') ) wp_pagenavi(); ?>
posts_per_page указывается в настройках Settings > Reading, если нужно изменить количество постов для какого-то конкретного архива, можно использовать фильтр pre_get_posts чтобы не обращаться к БД повторно.
Вышеописанное актуально для стандартных циклов (Loop)
9 часов назад, Николя223 сказал:можете попробовать трюк сделать. https://wp-kama.ru/hook/post_limits
что то типа такого
add_filter( 'post_limits', 'editLimitForTaxonomy' ); function editLimitForTaxonomy( $limit, $query ) { if (!is_admin()){ if ( $query->query_vars['taxonomy'] == 'ВАША ТАКСОНОМИЯ' ){ $limit = 'LIMIT 20'; } } return $limit; }
Я бы не трогал в этом случае лимиты. Зачем велосипедить, если вордпресс сам отлично справляется, зная № страницы и количество отображаемых постов?
-
get_posts не делает поиск по цене, вопрос не совсем корректно поставлен. в примере видно, что выборка идет по значению поля _price (я без понятия это regular или sale). я думаю, можно два поля совместить в запросе с оператором OR. т.е. либо regular price в заданном диапазоне, либо sale price:https://codex.wordpress.org/Class_Reference/WP_Meta_Query
см. параметр relation
-
Я же ссылку привел, там написасано что это уникальное имя скрипта:
Цитата$handle
(string) (Required) Name of the script. Should be unique.
-
Найдите handle, через который подключается стиль темы и укажите его в зависимостях: https://developer.wordpress.org/reference/functions/wp_register_script/
Например:
wp_register_style( 'NSN_WooExtSearch_common_styles', $this->m_plugin_url . 'css/nsn_woo_ext_search_style.css', array('theme-script-handle') );
-
Как вариант - внести правки в скрипт и подменять скрипт плагина на свой (wp_deregister_script/wp_register_script)
- 1
-
Если бы никому не нужно было "писать сайт", нас бы не было. Далеко не всем подходит функционал готовых решений. Если тебе для сайта-визитки достаточно скачать даже бесплатный шаблон, то мои клиенты на такое не готовы - у них для сайта конкретные требования, которые нужно реализовать. Плюс, вполне определенные требования по дизайну, а не "возьму готовую тему и мой сайт будет выглядеть как еще несколько сотен сайтов".
- 2
-
https://developer.wordpress.org/reference/functions/add_image_size/
см. параметр $crop, который, в случае true, сжимает и обрезает картинку точно до указанных размеров (если она больше, конечно)
-
редактирование сторонней темы - печальная затея, если тему планируется обновлять.
генерится все это дело в файле "./inc/theme-options.php", функция catchbox_assets. если идея в том, что хочется редактировать основную тему - то можно править прямо здесь (и убрать предыдущий код)
если работать с дочерней темой, то можно определить свою функцию "catchbox_footer_content", которая будет выводить нужные копирайты
-
добавить в functions.php дочерней темы
-
Надеюсь, тема редактируется как дочерняя?
remove_action( 'catchbox_site_generator', 'catchbox_footer_content', 15 );
-
Можно сделать как-то так
[lang ar=ليبيا" en="Lybia]Ливия[/lang]
При помощи https://codex.wordpress.org/Shortcode_API
-
Мне нужно вставлять местные названия рецептов, начиная от английского и кончая хинди, урду, малави, и т.д. Так что, думаю простым копированием отделаться не получится! :0(
сохраняй рецепты как отдельный тип постов, которые будут переводиться тем же Polylang. Потом прикрути какой-нибудь шорткод для вставки рецепта в текст, с выбором языка )
-
Из плагинов, которыми я пользовался:
платный: WPML
бесплатный: Polylang
-
Вот так можно подключить jQuery
<?php wp_enqueue_script('jquery'); ?>
а по-хорошему - подключать свой скрипт в футере (см. последний аргумент - true) и использовать API, указав в зависимостях jQuery. Это для functions.php (или куда ты хуки пишешь):
add_action('wp_enqueue_scripts', 'theme_enqueue_scripts');function theme_enqueue_scripts() { wp_enqueue_script( 'stickers', get_template_directory_uri() . '/js/stickers.js', array('jquery), '1.0', true );}
Параметры см тут: https://developer.wordpress.org/reference/functions/wp_enqueue_script/
Обычно незачем перетирать встроенную в вордпресс jquery библиотеку, а если даже есть зачем - то не так топорно. -
Все смешалось - люди, кони. Я так понимаю, это попытка вывести новости на странице? Для этого можно у post_type включить опцию has_archive, тогда по ссылке /{slug}/ будут выводиться посты этого типа. В данном случае ссылка наверное будет выглядеть как /news/
По умолчанию будут использоваться шаблоны в таком порядке:
index.php > archive.php > archive-{posttype}.phpЕсли нужно обязательно использовать кастомный шаблон страницы, то добавляй поле, в котором пользователь будет выбирать какой именно контент будет выводиться. Например, выпадающий список: новости, каталоги и тд
-
Контент слайдера относится непосредственно к статье? Если да, то можно добавить что-то вроде:
- Дополнительное текстовое (напр. WYSIWYG) поле для контента слайдов, или там шорткода
- Дополнительные поля для добавления слайдов в статью (а-ля ACF repeater)
- Если слайды идут отдельным типом постов, то посредством плагинов Advanced Custom Fields или Posts 2 Posts выбирать их при редактировании страницы (т.е. что-то вроде relationship - статья хранит только ссылки на посты-слайдеры, привязанные к статье)
Если нет, то это может быть просто блок, выводящий все/последние/рандомные слайды из соответствующего типа контента, ну или виджет.
PS: Выше я видел шорткод, который выводит слайды по категории. Почему бы просто не добавить поле со списком категорий? Пользователь просто выбирает категорию слайдов - и слайды из этой категории уже выводятся тем плагином, который используется. Если вопрос в том, как получить данные поля статьи ВНЕ цикла, то get_queried_object_id() - то, что нужно. Главное, если используются дополнительные циклы - чтобы они сбрасывались корректно...
- 1
-
код видно не весь... левая часть вообще вырезана, непонятно откуда берется $img - похоже что это выводятся категории, а картинки редактируются в самих категориях.
-
Мне просто казалось, что есть какой-то "правильный" и "красивый" способ, ориентированный на домохозяек
при редактировании страницы/записи над редактором есть кнопка "Add Media". Жмем, создаем галерею, вставляем галерею в нужное место. Дальше - только застилить.
При необходимости можно изменить HTML структуру галереи. Для этого я добавлял параметр "тип", чтобы при выборе определенного типа галереи она отображалась как мне надо.
Во многих случаях может подойти готовый плагин-слайдер, см https://wordpress.org/plugins/search.php?q=slider
А вообще - вариантов масса. В зависимости от потребностей и возможностей.
-
Бывает, что хостер запрещает слать почту с сервера. Как вариант - попробуй слать почту через внешний SMTP, например, через гугловый.
Недавно пользовался этим плагином: https://wordpress.org/plugins/postman-smtp/
А, черт, не дочитал...
Попробуй отправить сам почту: http://php.net/manual/en/function.mail.php
И еще - с какого ящика Ворпдресс пытается слать письма? В смысле, отправитель какой?
-
А как ты сделал отображение только категорий? И по клику подкатегорий?
Наверное, как-то так: https://codex.wordpress.org/Function_Reference/get_categories
См. агрумент parent
-
все правки которые касаются визуального оформления, как то: цвет, размер, расположение и т.д...., выносятся в отдельный стилевой файл .css - в нем обычно и производят изменения, которые могут затронуть весь сайт в целом.
Можно отредактировать файлик CSS из темы (шаблона). Просто и сердито. Но, если после этого обновишь тему - твои все правки уйдут в небытие
Если хочется сохранить возможность обновления темы, то я бы рекомендовал сделать дочернюю тему, а в ней уже колдовать как угодно: https://codex.wordpress.org/Child_Themes
-
Потому что action неправильный. Красным выделено, при какой переменной "action" будет выполнен колбек "citiesView".
add_action('wp_ajax_postview_citiesView', 'citiesView');
<input type="hidden" value="postview_citiesView" name="action">
Как создать уникальную страницу?
in CMS
Posted
"тест на php" это что? просто код или какая-то песочница для выполнения кода? Если просто форматированный код, то плагинов вагон https://wordpress.org/plugins/tags/sourcecode/
а вообще лучше создавать отдельную тему по своей проблеме