• Как реализовать в разделе админки wordpress редактируемую страницу аналогичную в клиентской части?

    ligisayan, там же, где и всегда - WordPress Codex + адекватные и подробные статьи на эту тему. Что касается "решения такой задачи" - если честно, мне задача не совсем понятна.
  • Как вывести миниатюры последних страниц (не записей!) в сайдбаре Wordpress кодом php?

    sld13, Вместо вот этого:
    <?php $the_query = new WP_Query('showposts=5'); ?>
    Используйте вот так:
    <?php 
    $args = [
        'posts_per_page' => 5, // вместо устаревшего 12 лет назад showposts
        'post_type' => 'page', // вот здесь задаем тип записей (по умолчанию - posts)
    ];
    $the_query = new WP_Query( $args ); 
    ?>
  • Как реализовать в разделе админки wordpress редактируемую страницу аналогичную в клиентской части?

    mefutu, да, только если вы не понимаете досконально систему capabilities, функционал map_meta_cap и тд, то вероятность оставить после себя дырку в безопасности весьма велика. Особенно если копи-пастить из каких-то нагугленых уроков 5-6-летней давности.
  • Как удалить header "Server: nginx"?

    Вот только Nginx должен быть собран с модулем Headers More (ngx_headers_more).
  • Как уменьшить количество запросов в бд. WooCommerce (1200 запросов в БД)?

    Сколько выполняются эти ваши 1160 запросов, по времени? Или вас именно их количество напрягает?
  • Для каких задач в веб-разработке очень хорошо подходит питон?

    antimodern,
    из этого твоего большого процента говно-сайтов на вордпрессе 99% приходится на говновебмастеров, которые настротрелись говно-инфоматериалов и пошли делать свои говно-блоги

    Во-первых, в Ruby, Python, в любом языке, а особенно (прям очень особенно) - в JavaScript, говнокода совершенно не меньше в процентном отношении. А в JS, боюсь, даже больше ибо самый низкий порог. Да даже на Golang умудряются говнокодить, хотя язык сам по себе из штанов выпрыгивает чтобы не позволять этого.
    Во-вторых, и на PHP, и на WordPress есть так же и хорошие проекты с качественным кодом. Дело не в языке / CMS / фрефмворке / технологии / стеке, дело ВСЕГДА в людях. А они везде одинаковые.

    Ну и кроме того, все переваливаются активно на SPA/Headless CMS.

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

    Попробуй:

    Вы же понимаете, что в современных реалиях практически все обзавелись скаффолдами и cli-тулзами и подобное никого уже не удивляет? Даже в PHP - тот же Laravel, даже WordPress с Drupal умеют в CLI уже давным давно :)
  • Как в WP разрешить чтение постов с другим статусом?

    Евгений Ефимченко, ссылка не открывается (возможно allbiz заблокирован у нас в Украине).

    Вопрос в другом. Как я понимаю, вы создали кастомную роль no_role, и дали ей разрешение на чтение private_pages и private_posts. Сначала вопрос - каким образом WordPress начинает использовать эту роль, если на сайт зашел гость, который не авторизован? Каким образом применяются эти capabilities? Далее, предостережение. Вы открыли (правда я не понимаю как это может работать) доступ ко всем приватным страницам и записям любых типов, которые наследуют capabilities от post. Это небезопасно, да и нежелательно по другим причинам. Кроме того, если у вас есть (или будут в будущем) custom post types с кастомными capabilities, а не слепо наследуемые от post, то на них эти разрешения не распространятся (ибо у них будут свои read_* capabilities).

    В общем, работает оно у вас вопреки всей логике, и я действительно подозреваю, что оно и не совсем работает, скорее вы пока не заметили косяков. Клиент чуть позже заметит. В любом случае, это адский говнокодище :) При том что решение в моем ответе позволяет получить требуемый результат без танцев с бубном, безопасно, изолированно для одного конкретного статуса.
  • Как в WP разрешить чтение постов с другим статусом?

    Евгений Ефимченко, Значит ваше изначальное описание проблемы некорректно. Потому что решить недоступность на фронте записей с кастомным статусом с помощью capabilities невозможно.
  • Что не нравится яблокам?

    Максим Тимофеев, А какая верси Сафари? Ибо у меня все ок (самые свежие версии iOS и macOS + последние сафарики там и там)
  • Как в WP разрешить чтение постов с другим статусом?

    Евгений Ефимченко, Ась? Вы вообще куда-то не туда копаете. User Role Editor - это плагин для редактирования capabilities пользователей. В данном случае у вас нет проблемы с capabilities пользователя, а гости (неавторизованные) вообще не проходят через capabilities.

    Создать нового пользователя с наследованием "ничего" и дать ему права на чтение всего.

    Это ничего не даст. Читать все сможет только этот пользователь, если он авторизован.

    А вот со ссылками как быть, непонятно пока что.

    Ссылки - это rewrite rules. Они генерируются автоматически, если разрешено аргументами, переданными в register_post_status.

    Внимательно перечитайте еще раз мой ответ. Не изобретайте танцы с бубном и завываниями.

    Если данный статус зарегистрирован как непубличный, вы хоть тресните, а WP не включит его в SQL запрос, и не сгенерирует ему rewrite rules. И никакие танцы с правами (capabilities) вам не помогут, потому что WP записи с этим статусом будет упорно игнорировать на фронте. Ибо так ему указано в аргументах, переданных при регистрации данного статуса.
  • Как вывести все дочерние страницы определенной страницы wordpress?

    не совсем уместны, поскольку на изучение того, что предлагаете уйдут недели и месяцы.

    Но без этого у вас будет день сурка, и "когда задачу нужно решить здесь и сейчас" будет повторяться снова и снова, вы будете решать это адским говнокодом "вопреки WP", и через весьма короткий промежуток времени проект становится неподдерживаемым. И да, на это достаточно нескольких часов - открываете WP, запускаете Xdebug и пошагово идете по выполнению движка.

    Остановитесь, выдохните, почитайте про $query_vars вместо использования ненадежного и небезопасного $_SERVER['REQUEST_URI'].

    прошу специалистов помочь показать, что в моем коде не так

    Все не так, именно об этом мой комментарий. То, что у вас сама архитектура сделана ахово, это одно. Но вы даже не понимаете, что WP уже и так парсит реквест и держит в глобальном скоупе все необходимые вам данные. Если бы вы понимали цикл от запроса до ответа, то задачу спокойно решили бы сами.

    как лучше реализовать эту задачу, даже с иным решением.

    Переписать архитектуру с нуля, на custom post types и custom taxonomies.
  • Как заменить в админке в статусе заказа гостя на зарегистрованного пользователя?

    ligisayan,
    Естественно, т.к. woocommerce предлагает для этого еще поставить галку зарегистрироваться и все равно ты новый клиент или повторный, но просто не залогиненый, а это неудобно.

    Вот тут мысль как раз пришла. По идее у WooCommerce есть фильтр перед самим созданием пользователя. Данные, возвращаемые этим фильтром передаются далее в wp_insert_user(). Если в эти данные добавить ID юзера (а его мы можем получить проверив на существование по мылу или телефону), то будет обновлен существующий юзер + далее этот же ID существующего юзера будет возвращен далее в WooCommerce в виде $customer_id. То есть, будет получен нужный результат.
  • Как заменить в админке в статусе заказа гостя на зарегистрованного пользователя?

    ligisayan, Хм, пробежал по диагонали эту статью, интересно. Уверен, что это не единственный (и возможно даже не самый разумный) способ, но ковырять и решать столь объемную задачу сейчас, увы, времени и возможности нет (хотя не скрою, она меня заинтересовала). Работает - и хорошо. Для вас на данном этапе это самое главное.

    А это как? Просить вводить юзера не полный телефон? чревато ошибками, расчет на дурака всегда должен быть

    Нормализация это и есть комплекс мер, которые включают и защиту от дурака, и форсирование определенного формата, и валидацию ошибок, и потом, после того как данные прошли, их последующая обработка, чтобы в БД они всегда хранились в одинаковом формате. Например:
    - ввести можно только цифры (пробелы, скобки, +, дефисы и тд - не принимаются полем типа "number")
    - длина должна быть 10 (3 цифры код оператора/региона + 7 цифр сам номер) или 12 (+2 цифры международного формата). Это для Украины - у нас 38 код страны, 0XX код оператора и XXX XX XX - сам номер. У США код страны 1 цифра, например. Подробнее по нужным странам можно посмотреть тут.
    - далее, если 12 цифр - валидируем что первые 2 соответствуют коду страны
    - на бекенде смотрим, если 10 цифр, дописываем код страны
    - сохраняем в БД в одинаковом формате: 12 цифр (код страны + код оператора + номер)

    Это минимально адекватный вариант. В зависимости от требований учесть другие страны можно логику усложнять - можно выбор страны сделать селектом + геолокация, отдельно код оператора/региона (+валидировать его чтобы он был реальный, все эти коды известны и есть их базы), отдельно сам номер 7 цифр без пробелов и других символов. В общем, это не так сложно, как кажется на первый взгляд.
  • Как заменить в админке в статусе заказа гостя на зарегистрованного пользователя?

    ligisayan, по метаданным можно искать конкретного юзера через WP_User_Query, принцип тот же что и с WP_Query. Впрочем, если телефонный номер считается более уникальным, чем имейл (и на него опираемся), то я бы в таком случае модифицировал регистрационный процесс - нормализация телефонного номера (к одному стандарту - полный международный формат, только цифры) и использование его в качестве логина. Тогда возвращаемся к get_user_by. В любом случае, нужно этот фрагмент упрощать и оптимизировать, потому что брать всех и перебирать со сравнением - это бутылочное горлышко.

    А какие хуки у регистрации клиента woocommerce?

    Ну я смотрю что у вас на thankyou происходит wp_insert_user() и это как бы совсем неправильно. WooCommerce умеет регистрировать гостей в процессе оформления заказа, и в этом случае на страницу thankyou уже прилетает созданный пользователь, а заказ уже привязан к нему. Вы же, видимо, не используете родную фичу WC, а пытаетесь делать это самостоятельно.
  • Почему на западе любят поддомен www в адресе сайте, а у нас корень домена?

    Siberian_Bear, я когда-то сам задавался этим вопросом, и тоже что-то меня изнутри грызло, подозревало что не все так однозначно. Углубился, исследовал, порасспрашивал более опытных коллег на западе - и все прояснилось. Рад передать знания дальше.