hedgehog

Эксперт
  • Публикации

    1 109
  • Зарегистрирован

  • Посещение

  • Дней в лидерах

    14

Все публикации пользователя hedgehog

  1. Постраничная навигация. Как создать?

    Не кажется. Подменять 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 постов на страницу - затевается для ВСЕХ страниц, или для конкретных? Если для конкретных - то для каких (категории, теги, иные архивы)?
  2. Вывод контента со страницы. Как реализовать?

    Нужно немного почитать про 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
  3. Постраничная навигация. Как создать?

    Параметр paged передается? Если не хочется заморачиваться, можно поставить плагин WP Pagenavi, который умеет генерить ссылки для навигации. Просто где-нибудь внизу/вверху страницы добавить код а-ля: <?php if ( function_exists('wp_pagenavi') ) wp_pagenavi(); ?> posts_per_page указывается в настройках Settings > Reading, если нужно изменить количество постов для какого-то конкретного архива, можно использовать фильтр pre_get_posts чтобы не обращаться к БД повторно. Вышеописанное актуально для стандартных циклов (Loop) Я бы не трогал в этом случае лимиты. Зачем велосипедить, если вордпресс сам отлично справляется, зная № страницы и количество отображаемых постов?
  4. поиск по цене wooCommerce-продукта

    get_posts не делает поиск по цене, вопрос не совсем корректно поставлен. в примере видно, что выборка идет по значению поля _price (я без понятия это regular или sale). я думаю, можно два поля совместить в запросе с оператором OR. т.е. либо regular price в заданном диапазоне, либо sale price:https://codex.wordpress.org/Class_Reference/WP_Meta_Query см. параметр relation
  5. стили моего плагина не применяются

    Я же ссылку привел, там написасано что это уникальное имя скрипта:
  6. стили моего плагина не применяются

    Найдите 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') );
  7. В чужом вордпресс плагине ошибка при вызове функции

    Как вариант - внести правки в скрипт и подменять скрипт плагина на свой (wp_deregister_script/wp_register_script)
  8. В чем смысл изучения HTML и CSS?

    Если бы никому не нужно было "писать сайт", нас бы не было. Далеко не всем подходит функционал готовых решений. Если тебе для сайта-визитки достаточно скачать даже бесплатный шаблон, то мои клиенты на такое не готовы - у них для сайта конкретные требования, которые нужно реализовать. Плюс, вполне определенные требования по дизайну, а не "возьму готовую тему и мой сайт будет выглядеть как еще несколько сотен сайтов".
  9. Картинки разного размера

    https://developer.wordpress.org/reference/functions/add_image_size/ см. параметр $crop, который, в случае true, сжимает и обрезает картинку точно до указанных размеров (если она больше, конечно)
  10. Помогите отредактировать футер

    редактирование сторонней темы - печальная затея, если тему планируется обновлять. генерится все это дело в файле "./inc/theme-options.php", функция catchbox_assets. если идея в том, что хочется редактировать основную тему - то можно править прямо здесь (и убрать предыдущий код) если работать с дочерней темой, то можно определить свою функцию "catchbox_footer_content", которая будет выводить нужные копирайты
  11. Помогите отредактировать футер

    добавить в functions.php дочерней темы
  12. Помогите отредактировать футер

    Надеюсь, тема редактируется как дочерняя? remove_action( 'catchbox_site_generator', 'catchbox_footer_content', 15 );
  13. Ввод данных на других языках

    Можно сделать как-то так [lang ar=ليبيا‎" en="Lybia]Ливия[/lang] При помощи https://codex.wordpress.org/Shortcode_API
  14. Ввод данных на других языках

    сохраняй рецепты как отдельный тип постов, которые будут переводиться тем же Polylang. Потом прикрути какой-нибудь шорткод для вставки рецепта в текст, с выбором языка )
  15. Ввод данных на других языках

    Из плагинов, которыми я пользовался: платный: WPML бесплатный: Polylang
  16. подключение js и jqery

    Вот так можно подключить 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 библиотеку, а если даже есть зачем - то не так топорно.
  17. custom post types в wordpress

    Все смешалось - люди, кони. Я так понимаю, это попытка вывести новости на странице? Для этого можно у post_type включить опцию has_archive, тогда по ссылке /{slug}/ будут выводиться посты этого типа. В данном случае ссылка наверное будет выглядеть как /news/ По умолчанию будут использоваться шаблоны в таком порядке: index.php > archive.php > archive-{posttype}.php Если нужно обязательно использовать кастомный шаблон страницы, то добавляй поле, в котором пользователь будет выбирать какой именно контент будет выводиться. Например, выпадающий список: новости, каталоги и тд
  18. Добавить слайдер вне шаблона статьи на WP

    Контент слайдера относится непосредственно к статье? Если да, то можно добавить что-то вроде: Дополнительное текстовое (напр. WYSIWYG) поле для контента слайдов, или там шорткодаДополнительные поля для добавления слайдов в статью (а-ля ACF repeater)Если слайды идут отдельным типом постов, то посредством плагинов Advanced Custom Fields или Posts 2 Posts выбирать их при редактировании страницы (т.е. что-то вроде relationship - статья хранит только ссылки на посты-слайдеры, привязанные к статье) Если нет, то это может быть просто блок, выводящий все/последние/рандомные слайды из соответствующего типа контента, ну или виджет. PS: Выше я видел шорткод, который выводит слайды по категории. Почему бы просто не добавить поле со списком категорий? Пользователь просто выбирает категорию слайдов - и слайды из этой категории уже выводятся тем плагином, который используется. Если вопрос в том, как получить данные поля статьи ВНЕ цикла, то get_queried_object_id() - то, что нужно. Главное, если используются дополнительные циклы - чтобы они сбрасывались корректно...
  19. Настройка шаблона

    код видно не весь... левая часть вообще вырезана, непонятно откуда берется $img - похоже что это выводятся категории, а картинки редактируются в самих категориях.
  20. Несколько картинок в блоке

    при редактировании страницы/записи над редактором есть кнопка "Add Media". Жмем, создаем галерею, вставляем галерею в нужное место. Дальше - только застилить. При необходимости можно изменить HTML структуру галереи. Для этого я добавлял параметр "тип", чтобы при выборе определенного типа галереи она отображалась как мне надо. Во многих случаях может подойти готовый плагин-слайдер, см https://wordpress.org/plugins/search.php?q=slider А вообще - вариантов масса. В зависимости от потребностей и возможностей.
  21. WordPress не отправляет уведомления вообще. VPS от reg.ru

    Бывает, что хостер запрещает слать почту с сервера. Как вариант - попробуй слать почту через внешний SMTP, например, через гугловый. Недавно пользовался этим плагином: https://wordpress.org/plugins/postman-smtp/ А, черт, не дочитал... Попробуй отправить сам почту: http://php.net/manual/en/function.mail.php И еще - с какого ящика Ворпдресс пытается слать письма? В смысле, отправитель какой?
  22. Отображение категорий

    Наверное, как-то так: https://codex.wordpress.org/Function_Reference/get_categories См. агрумент parent
  23. Можно отредактировать файлик CSS из темы (шаблона). Просто и сердито. Но, если после этого обновишь тему - твои все правки уйдут в небытие Если хочется сохранить возможность обновления темы, то я бы рекомендовал сделать дочернюю тему, а в ней уже колдовать как угодно: https://codex.wordpress.org/Child_Themes
  24. ajax + wordpress

    Потому что action неправильный. Красным выделено, при какой переменной "action" будет выполнен колбек "citiesView". add_action('wp_ajax_postview_citiesView', 'citiesView'); <input type="hidden" value="postview_citiesView" name="action">
  25. Вывод описания для картинки стандартной из галереи

    Заголовок уже выводится по ховеру, можно застилить чтобы выводился сразу. Но если нужны и заголовок, и описание - можно использовать свой шаблон для галереи при помощи этого фильтра: https://codex.wordpress.org/Plugin_API/Filter_Reference/post_gallery Смотри как работает стандартная функция вывода галереи: https://core.trac.wordpress.org/browser/tags/4.2.1/src/wp-includes/media.php#L919 вот здесь идет проверка, пытается кто-нибудь изменить шаблон галереи или нет: $output = apply_filters( 'post_gallery', '', $attr, $instance );Если фильтры что-то возращают - это считается темплейтом и выводится как галерея. Ниже можешь посмотреть как работает стандартный вывод и использовать это как шаблон. Один нюанс: все заголовки и описания хранятся в медиа библиотеке, а не в созданной галерее. То есть, одна и та же картинка не может иметь разные заголовк и описание в разных галереях, разве что загружать второй раз. Если я меняю стандартную галерею, то я, обычно, добавляю какое-нибудь поле или drop-down в окошко создания галереи, где можно выбрать тип. Например, "по умолчанию", "с описанием" и тд. Эти данные добавляются к шорткоду, а в своем коллбеке для фильтра ты проверяешь: если это "твой" шаблон, обрабатываешь сам, если нет - отдаешь вордпрессу. Как-то так: http://wordpress.stackexchange.com/a/90443/63728