Задать вопрос
Ответы пользователя по тегу WordPress
  • Как сортировать записи по двум полям в sql запросе, обычному и произвольному без фильтрации?

    @awenn2015 Автор вопроса
    Веб-разработчик самоучка
    А все, в phpmyadmin на тыкал по колонкам как нужно, даже и думать не пришлось и получился такой вариант

    SELECT wp_posts.ID, wp_posts.post_title, wp_posts.post_date, wp_postmeta.meta_value FROM wp_posts 
    LEFT JOIN wp_postmeta ON wp_posts.ID = wp_postmeta.post_id AND wp_postmeta.meta_key = 'pinned' 
    WHERE wp_posts.post_type = 'partners' 
    ORDER BY `wp_postmeta`.`meta_value` DESC, `wp_posts`.`ID` DESC LIMIT 25


    Хоть он конечно и не покрывает 100% задачу так как тут сортировка все равно общая какая то получается, мы сначала поднимает закрепленные а потом сортируем всё по ID, хотелось бы иметь возможность сортировать отдельно поднятые и все остальные по разному

    ============ UPDATED ============

    За два дня поисков нашел еще такой вариант, в целом тоже работает и отвечает на 1-ую часть задания, тут я уже сам себе признал что так себе знал о всех доступных способах указания аргументов в WP_Query, так как до этого в основном пользовался только стандартными кейсами

    $posts_query = new WP_Query([
      'paged' => $paged,
      'post_type' => 'post',
      'post_status' => 'publish',
      'suppress_filters' => true,
      'posts_per_page' => $posts_per_page,
      'meta_query' => [
        'relation' => 'OR',
        'pinned_clause' => [
          'key' => 'pinned',
          'compare' => 'EXISTS',
        ],
      ],
      'orderby' => [
        'pinned_clause' => 'DESC',
        'ID' => 'DESC',
      ],
    ]);


    Осталось найти способ как выполнить 2-ую часть задания, хотя предполагаю что можно где то в цикле после того как отрисовал закрепленные менять query параметр orderby на нужный, главное отловить тот момент когда идут не закрепленные, наверно по кол-ву можно брать, заранее посчитать сколько всего закрепленных и после в цикле уже проверять

    Далее по всей видимости нужно изучать как делать сложные meta_query что бы комбинировать relation по типу этого

    $post_query = new WP_Query([
      // ...
      'meta_query' => [
        'relation' => 'AND',
        [
          'relation' => 'OR',
          'pinned_clause' => [
            'key' => 'pinned',
            'compare' => 'EXISTS',
          ],
        ],
        [
          'relation' => 'AND',
          [
            'key' => 'acf_field_1',
            'value' => 'filtering_value_1',
          ],
          [
            'key' => 'acf_field_2',
            'value' => 'filtering_value_2',
          ],
        ],
      ],
    ]);
    Ответ написан
    Комментировать
  • Как получить название архивной страницы на странице ее таксономии?

    @awenn2015 Автор вопроса
    Веб-разработчик самоучка
    В общем пришлось подсмотреть как у камы все это реализовано и ответ оказался настолько прост что странно что в гугле (на подобных ресурсах) никто не мог дать внятного ответа, в общем само решение:
    global $post, $wp_post_types;
    $q_obj = get_queried_object();
    
    $ptype = null;
    
    if (!empty($post)) $ptype = &$wp_post_types[$post->post_type];
    else if (isset($q_obj->taxonomy)) $ptype = &$wp_post_types[get_taxonomy($q_obj->taxonomy)->object_type[0]];
    
    $post_title = $ptype->labels->name;

    Вот и все решение
    Ответ написан
  • Как передать значение переменной между файлами шаблона на wordpress?

    @awenn2015
    Веб-разработчик самоучка
    Смотрю вот ответы то хорошие, но что делать когда файл шаблона, например файл со script тегом который мы через хук wp_footer цепляем к странице, что бы не дублировать запросы к бд хорошей идей является как упомянул Mario62 передавать данные через $GLOBALS
    Ответ написан
    Комментировать
  • При создании константы со значением get_field исчезает страница настроек acf?

    @awenn2015 Автор вопроса
    Веб-разработчик самоучка
    Решил проблему просто переместив создание константы после создания страниц настроек acf, наверно если делать по другому то создаются какие-то конфликты
    Ответ написан
    Комментировать
  • Стоит ли покупать ACF PRO на этом сайте?

    @awenn2015
    Веб-разработчик самоучка
    я обычно беру про плагины на wpnull чего и вам советую, отличный сайт если не рассчитываете на будущие обновления
    Ответ написан
    Комментировать
  • Как правильно закинуть PHPMAILER в Wordpress?

    @awenn2015
    Веб-разработчик самоучка
    В WP по другому нужно отправлять ajax запросы. по гугли ajax в wordpress, на каме все расписанно, меня вот интересует почему у меня ни wp_mail не работает ни phpmailer, с локалки, письма тупо не приходят но отправляются
    Ответ написан
    Комментировать
  • Как сделать свою настройку в кастомайзере WordPress?

    @awenn2015
    Веб-разработчик самоучка
    А зачем это вообще делать в кастомайзер? Можно через ACF и все, вот проблемы создаете, одна настройка мелкая для одной страницы, ну бред же
    Ответ написан
    Комментировать