• Как вывести записи из определенной рубрики?

    Kozack
    @Kozack Куратор тега WordPress
    Если ваша категория называется
    Category Name и имеет slug category-name тогда просто откройте ваш сайт по адресу
    example.com/category-name
    WordPress самостоятельно определяет какия категория открыта, самостоятельно выбирает записи из БД так, чтобы показать только 10 (это число выставляется в настройках).

    Вот информация к ознакомлению
    https://codex.wordpress.org/%D0%A6%D0%B8%D0%BA%D0%...
    Ответ написан
  • Как в WP разрешить чтение постов с другим статусом?

    HeadOnFire
    @HeadOnFire Куратор тега WordPress
    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' );
    Ответ написан
  • Какой плагин кеширования в Вордпрессе лучше других?

    HeadOnFire
    @HeadOnFire Куратор тега WordPress
    PHP, Laravel & WordPress Evangelist
    Ох, опять эта тема :)

    Для начала могу сказать какой точно никогда, ни при каких обстоятельствах не использовать - W3 Total Cache. Это адище с большой буквы. Туда же все остальные плагины, которые пытаются быть "все-в-одном" и предоставлять 120 страниц конфигурации. В топку.

    Далее, давайте мухи отдельно и котлеты отдельно. Есть object cache - у него свои задачи. Есть fragment cache - у него свои. Есть full page cache - это отдельная кухня. Есть кеширование на уровне сервера (nginx fastcgi_cache), все тот же full page cache но "навыворот". А еще Nginx умеет разговаривать с Memcached напрямую. И даже если сравнивать решения, которые делают одно и то же (например, тот же full page cache), разница в "эффекте" на разных серверах и даже на разных сайтах на одном сервере будет. Часто - существенная. Плюс, есть кеширование на многих уровнях на самом сервере - файловая система, кеши БД и тд. И все эти настройки будут влиять на поведение плагинов кеширования. Часто - существенно. Кеширование на стороне клиента - отдельная кухня, начиная с server push, prefetch и тд, выдача поддерживаемых форматов (brotli/gzip, woff/woff2/ttf, webp/jpg/png и тому подобное).

    В общем, performance - это целый комплекс мер, решений и инструментов. Подходить к этому надо с умом и четким планом, полным пониманием всего процесса от инициации запроса клиентом и до... а нету точки Б, потому что там свои моменты.

    А еще надо понимать, что ваш медленный DNS может убить всю экономию на PHP runtime. Или криво установленный SSL-сертификат. Или кеширование SSL-сессий, некорректно настроенное под специфику трафика конкретного проекта. Или канал на выходе перегруженный. Или далеко не оптимальный конфиг пула PHP. Или вообще Apache. Или I/O wait зашкаливает.

    Грубо говоря, если вы надеетесь найти один волшебный плагин, который будете лепить сверху на каждый сайт и всегда получать супер-мега-быстрый сайт - вы не на то тратите свою энергию. А проводить сравнительные тесты нет смысла, потому что по сути их результаты могут иметь хоть какой-то смысл только когда вы подбираете под один конкретный сайт. Если вы проведете все те же тесты на другом сайте и на другом сервере - получите уже другие результаты.

    И еще. Силы надо тратить на то, чтобы динамический сайт был быстрым. То есть, без плагинов кеширования вообще. Если сайт у вас тупит, то попытка замаскировать это сверху плагином кеширования - не самое разумное решение. Временное - да, возможно. Но не решает проблему.
    Ответ написан
  • Как подключить css только к главной странице на wordpress?

    @azerphoenix
    <?php
    
    // подключаем стили и скрипты
    function register_styles_scripts() {
        
        // стили для Главной
        if(is_home() || is_front_page()):
            wp_enqueue_style('style', get_template_directory_uri() . '/style1.css');
        endif;
        
        // Общие стили
        wp_enqueue_style('style', get_template_directory_uri() . '/style2.css');
    
    }
    add_action('wp_enqueue_scripts', 'register_styles_scripts');
    Ответ написан
  • Как покрасить каждый второй блок?

    iiiBird
    @iiiBird Куратор тега CSS
    Пока ты спишь - твой конкурент совершенствуется
    .item:nth-child(even) {background-color: #eff7fc;}
    Ответ написан
  • Почему не кликается одна и таже кнопка на разных страницах?

    @azerphoenix
    У вас на других страницах нет самого модального окна. Она есть на странице категории, которую вы указали
    Говоря проще, это модальное окно загружается в футере предназначенном для Woocomemrce. Соответственно, он есть на страницах категорий /product-categpry
    А на обычных страницах его нет
    нет этого кода
    <div class="fusion-modal modal fade modal-1 modal-callback" tabindex="-1" role="dialog" aria-labelledby="modal-heading-1" aria-hidden="true" style="display: none;"><style type="text/css">.modal-1 .modal-header, .modal-1 .modal-footer{border-color:#ebebeb;}</style><div class="modal-dialog modal-sm"><div class="modal-content fusion-modal-content" style="background-color:#f6f6f6"><div class="modal-header"><button class="close" type="button" data-dismiss="modal" aria-hidden="true">×</button><h3 class="modal-title" id="modal-heading-1" data-dismiss="modal" aria-hidden="true" data-fontsize="27" data-lineheight="50">Наш менеджер скоро вам перезвонит</h3></div><div class="modal-body fusion-clearfix">
    <div role="form" class="wpcf7" id="wpcf7-f18123-o1" dir="ltr" lang="ru-RU">
    <div class="screen-reader-response"></div>
    <form action="/product-category/chargers/#wpcf7-f18123-o1" method="post" class="wpcf7-form form-submit" novalidate="novalidate">
    <div style="display: none;">
    <input type="hidden" name="_wpcf7" value="18123">
    <input type="hidden" name="_wpcf7_version" value="4.7">
    <input type="hidden" name="_wpcf7_locale" value="ru_RU">
    <input type="hidden" name="_wpcf7_unit_tag" value="wpcf7-f18123-o1">
    <input type="hidden" name="_wpnonce" value="e450f9a8ae">
    </div>
    <p><label> Ваше имя<br>
        <span class="wpcf7-form-control-wrap your-name"><input type="text" name="your-name" value="" size="40" class="wpcf7-form-control wpcf7-text" aria-invalid="false"></span> </label></p>
    <p><label> Ваш телефон *<br>
        <span class="wpcf7-form-control-wrap your-tel"><input type="tel" name="your-tel" value="" size="40" class="wpcf7-form-control wpcf7-text wpcf7-tel wpcf7-validates-as-required wpcf7-validates-as-tel" aria-required="true" aria-invalid="false"></span> </label></p>
    <p><label> Ваш e-mail *<br>
        <span class="wpcf7-form-control-wrap your-email"><input type="email" name="your-email" value="" size="40" class="wpcf7-form-control wpcf7-text wpcf7-email wpcf7-validates-as-required wpcf7-validates-as-email" aria-required="true" aria-invalid="false"></span> </label></p>
    <p><input type="submit" value="Получить звонок!" class="wpcf7-form-control wpcf7-submit"><div class="fusion-slider-loading" style="display: none;"></div></p>
    <p style="font-size:9px">Нажимая кнопку вы принимаете <a href="/user-agreement/" target="_blank">пользовательское соглашение</a> и соглашаетесь с условиями <a href="/politika/" target="_blank">политики конфиденциальности</a></p>
    <div class="fusion-alert alert custom alert-custom fusion-alert-center fusion-alert-capitalize alert-dismissable wpcf7-response-output wpcf7-display-none" style="background-color:;color:;border-color:;border-width:1px;"><button style="color:;border-color:;" type="button" class="close toggle-alert" data-dismiss="alert" aria-hidden="true">×</button><div class="fusion-alert-content-wrapper"><span class="fusion-alert-content"></span></div></div></form></div>
    </div></div></div></div>
    Ответ написан
  • Нагружается ли сайт при большом количестве плагинов?

    Сам факт наличия плагинов никак не влияет на загруженность сайта. Всё зависит от того, что эти плагины делают и как написан код. То есть, если в 50 плагинах 10 строчек кода и они особо ничего не делают, а в 1 плагине 1000 строчек кода, и он совершает запросы в БД, включает фильтры, обновляет данные и т.д. то этот один плагин нагрузит сайт больше, чем все 50 плагинов вместе взятых.

    Подробнее
    Ответ написан
  • Авторизация на wordpress?

    Punkie
    @Punkie Куратор тега WordPress
    Немножечко вордпрессирую
    БЕЗ ПЛАГИНА.


    Очевидно, открывать доки по каждой из социалок и изучать методы работы с их API.
    Ответ написан
  • Какая это тема вордпресс?

    ya-vitaliy
    @ya-vitaliy
    Верстаю... + wordpress и пробую Laravel
    Не знаю открою ли для вас секрет, но если сайт сделан на wordpress это не значит, что его делали путем установки бесплатного (или) платного шаблона, перекрашивании цветов "под себя" и добавления крутелок-вертелок. Так делают только домохазяйки или аля "блоггеры" (которые на своем блоге, стотысячный раз пишут как установить wordpress и предоставляют услуги поп "созданию сайта на wordpress") . По нормальному все делают с нуля начиная с прорисовки дизайна, верстки и заканчивая разработкой функционала (в конкретном случаи для бэкенда, чтобы было дешевле взяли CMS wordpress). Как-то так.
    Ответ написан
  • Как сделать галлерею изображений с помощью плагина ACF?

    @azerphoenix
    Здравствуйте!
    Да, repeater отлично подойдет для этого.
    Вам понадобится:
    1 repeater с полями:
    - изображение
    - url (для иконки, которая ведет на другую страницу).

    А далее ваш код:
    <div id="portfoliowrap">
      <div class="portfolio-centered">
        <div class="recentitems portfolio">
        	<?php if( have_rows('gallery') ):
                while( have_rows('gallery') ) : the_row();       
          ?>
          <div class="portfolio-item graphic-design">
            <div class="he-wrap tpl6">
              <?php $image = get_sub_field('image');
                if( !empty($image) ): ?>
                  <img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt']; ?>" />
                <?php endif; ?>
                <div class="he-view">
                  <div class="bg a0" data-animate="fadeIn">
                      <h3 class="a1" data-animate="fadeInDown"><?php the_sub_field('title'); ?></h3>
                        <a data-rel="prettyPhoto" href="<?php echo $image['url']; ?>" class="dmbutton a2" data-animate="fadeInUp"><i class="fa fa-search"></i></a>
                        <a href="<?php echo get_sub_field('page_link');?>" class="dmbutton a2" data-animate="fadeInUp"><i class="fa fa-link"></i></a>
                  </div>
                </div>
            </div>
          </div>
    <?php endwhile; endif; ?>
        </div>
      </div>
    </div>


    По сути в иконку, которая ведет на полноразмерную картинку дублируете ссылку <?php echo $image['url']; ?>
    А в иконку, которая ведет на страницу добавьте кастомное поле. Например,
    <?php the_sub_field('page_link');?>

    Только небольшая рекомендация. У вас сейчас вместо миниатюр тоже полноразмерная картинка загружается. Соответсвенно надо в
    <img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt']; ?>" />
    передать урл миниатюры.
    Ответ написан
  • Как отсортировать посты в категории по дочерним категориям?

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

    wppanda5
    @wppanda5 Куратор тега WordPress
    WordPress Mедведь
    Сайт на WordPress может стоить 1000 а может и сильно больше, например толковый магазин для нормального заказчика из штатов легко переваливает за 15000$ только по бэкенду.

    Так, что если плотно разбираться в вопросе, то это отличные деньги и востребованность. На самом деле толковых спецов раз-два и обчелся.
    Ответ написан
  • Как чистить кэш стилей в вордпресс?

    @azerphoenix
    Здравствуйте!
    Давайте уточним:
    1) кэш бывает на сервере (плагины кэширования или в настройках хостинга) Как вы сказали, плагинов нет, тогда посмотрите может кэш на хостинге...
    2) кэш бывает на клиенте (кэш браузера) ctrl + shift + del или ctrl + f5 (или ctrl + fn + f5)
    3) кэш бывает на CDN (например, Cloudflare --> Cache --> Purge all cache)

    P.S. как вариант можете "заставить" браузер выкачать новые стили добавив к подключаемому стилю хэш. Например, style.css?ver=2
    Ответ написан
  • Как убрать ошибку в Wordpress?

    @azerphoenix
    Здравствуйте!
    В шаблоне темы или плагина был создан сайдбар, которому не был назначен параметр ID. Надо добавить ID
    Ответ написан
  • Кнопка котороя меняет роль пользователя в вордпрес?

    @baton4eg
    web developer
    1) Через ajax по клику куда-то - отправляем запрос с ид пользователя которому нужно обновить
    2) Обновляем инфо с помощью функции https://wp-kama.ru/function/wp_update_user
    Ответ написан
  • Как изменить страницу "Все записи" в Wordpress?

    @azerphoenix
    Здравствуйте!
    Главная страница, если она статичная, то front-page.php, если динамичная, то home.php
    А если речь о блоге, то скорее archive.php или category.php
    Документация - https://developer.wordpress.org/themes/basics/temp...

    пагинация может быть, как встроенной в вашу тему, так и не быть. Надо отталкиваться от конкретной темы. Если хотите сами добавить пагинацию, то:
    https://wp-kama.ru/question/paginatsiya-v-wp_query
    dimox.name/wordpress-pagination-without-a-plugin
    gnatkovsky.com.ua/postranichnaya-navigaciya-v-word...

    А еще, чтобы вам было проще ориентирвоаться в шаблонах устаноите плагин Query Monitor и посмотрите, что какой шаблон используется при открытии страницы Блога
    Ответ написан