hedgehog
Expert-
Posts
1,110 -
Joined
-
Last visited
-
Days Won
14
Content Type
Profiles
Forums
Calendar
Store
Everything posted by hedgehog
-
"тест на php" это что? просто код или какая-то песочница для выполнения кода? Если просто форматированный код, то плагинов вагон https://wordpress.org/plugins/tags/sourcecode/ а вообще лучше создавать отдельную тему по своей проблеме
-
Не кажется. Подменять raw query это крайний случай, когда нет других способов. Тем более, в вашем примере лимиты указаны неправильно - будут показываться все те же 20 постов каждый раз, на любой странице, см LIMIT: https://dev.mysql.com/doc/refman/5.7/en/select.html А конкретнее - потому что в новый запрос не передается "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) Я бы не трогал в этом случае лимиты. Зачем велосипедить, если вордпресс сам отлично справляется, зная № страницы и количество отображаемых постов?
-
get_posts не делает поиск по цене, вопрос не совсем корректно поставлен. в примере видно, что выборка идет по значению поля _price (я без понятия это regular или sale). я думаю, можно два поля совместить в запросе с оператором OR. т.е. либо regular price в заданном диапазоне, либо sale price:https://codex.wordpress.org/Class_Reference/WP_Meta_Query см. параметр relation
-
Я же ссылку привел, там написасано что это уникальное имя скрипта:
-
Найдите 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)
-
Если бы никому не нужно было "писать сайт", нас бы не было. Далеко не всем подходит функционал готовых решений. Если тебе для сайта-визитки достаточно скачать даже бесплатный шаблон, то мои клиенты на такое не готовы - у них для сайта конкретные требования, которые нужно реализовать. Плюс, вполне определенные требования по дизайну, а не "возьму готовую тему и мой сайт будет выглядеть как еще несколько сотен сайтов".
-
редактирование сторонней темы - печальная затея, если тему планируется обновлять. генерится все это дело в файле "./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
-
сохраняй рецепты как отдельный тип постов, которые будут переводиться тем же 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() - то, что нужно. Главное, если используются дополнительные циклы - чтобы они сбрасывались корректно...
-
код видно не весь... левая часть вообще вырезана, непонятно откуда берется $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 из темы (шаблона). Просто и сердито. Но, если после этого обновишь тему - твои все правки уйдут в небытие Если хочется сохранить возможность обновления темы, то я бы рекомендовал сделать дочернюю тему, а в ней уже колдовать как угодно: https://codex.wordpress.org/Child_Themes
-
Потому что action неправильный. Красным выделено, при какой переменной "action" будет выполнен колбек "citiesView". add_action('wp_ajax_postview_citiesView', 'citiesView'); <input type="hidden" value="postview_citiesView" name="action">