Задать вопрос
  • Какие технологии используются?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    1. Composer - это про PHP. Зависимости.
    2. Gulp, Grunt и тд - это про фронтенд.
    3. Параметр ?ver=4.5.3 - это cache busting от WordPress, 4.5.3 - это ваша версия WordPress.
    4. bootstrap (js, css) - это фронтенд фреймворк, используется он в активной теме, грузится скорее всего из файла functions.php. Ищите по коду файлов темы функцию wp_enqueue_scripts
    Ответ написан
  • Как обойтись без плагинов для мобильной версии wordpress?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Ну если вам надо раздельные версии а не адаптив, то естественно надо делать две версии, двойную работу. А как иначе? WordPress и плагины тут ни при чем.
    Ответ написан
    Комментировать
  • Жесть!? Как ускорить админку, Сильно Тормозит админка wordpress?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Раз тормозило из-за апдейтов, то проблему искать надо в другом месте, а не комментировать код ядра. Сами по себе обновления не проверяются при каждой загрузке, проверка происходит по крону с интервалом, ответы кешируются. В вашем случае, возможно, не работает cron или не кешируются данные, из-за чего и происходит "задумчивость".
    Ответ написан
  • Как обернуть img ссылкой в данном случаи?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Не обязательно получать контент в переменную и обрабатывать данные в ней. Есть фильтр the_content для этого.
    Ответ написан
    Комментировать
  • Чем и как делать резервные копии сайтов на сервере, на удаленный сервер=хранилище?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    rsync
    Ответ написан
    Комментировать
  • Wordpress: как не показывать комментарии?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Да забаньте его к чертям. По IP, по нику, по мылу, по соцаккаунтам, по стоп-словам из его коммента.
    Ответ написан
    Комментировать
  • Какой самый СЕО любимый движок?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Движок сам по себе не влияет на SEO. Влияет конкретный продукт, который вы реализовали на этом движке, верстка, контент, скорость и тд. Есть только косвенные момент - например, какой из движков предоставлять все необходимые SEO-инструменты "из коробки" или с помощью хорошего плагина / расширения.
    Ответ написан
    Комментировать
  • В чем подвох неограниченного места на хостинге?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Дело не в 1-2Тб, такой объем некоторым хостерам вы вполне можете залить - надо читать правила размещения, ибо кто-то ограничит вам размер файла в 50Мб, кто-то еще что-то. Но вообще все эти безлимиты упираются в другой лимит, который кстати всегда прописан - inodes. Это самое главное. Если кратко, inode - это один объект файловой системы (папка или файл). Соответственно, "безлимитные" планы включают лимит от 10 000 до 500 000 inodes, не ограничивая само место на диске. Кроме того, есть лимиты на использование процессорного времени и памяти, iops, количество и размер таблиц в БД и тд. Есть софт-лимиты, есть хард-лимиты. В общем, как только начинаете упираться в один из лимитов - вас вежливо попросят перейти на более дорогой тарифный план. Или просто вырубят - зависит от хостера и его agreement с которым вы согласились при покупке тарифного плана.
    Ответ написан
  • Проблема с ssl wordpress?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    В базе сделайте поиск-замену всех урл, поменяйте http:// на https:// и почистите куки
    Ответ написан
    Комментировать
  • Как вывести новости из Toolset в wordpress?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Toolset это плагин для создания Custom Post Types (которые можно создавать руками или другими плагинами). Для вывода custom post type на главной вам понадобится WP_Query.

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

    Если хотите просто вывести отдельный блок, используйте дополнительный WP_Query. В документации по ссылке есть примеры.
    Ответ написан
    Комментировать
  • Как заставить gulp снова работать?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    проверьте PATH
    Ответ написан
    Комментировать
  • Как правильно сделать 301 redirect на https?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Редиректы надо делать на сервере. Какой у вас сервер? Nginx, Apache?
    Для апача
    RewriteCond %{HTTPS} off
    RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    RewriteCond %{HTTP_HOST} !^www\.
    RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

    Правда, давно с ним не работал, может кто-то поправит. Ну или проверяйте.

    UPDATE: Поскольку оказалось что у вас таки Nginx, вот конфиг для него:
    # http to https
    server {
           listen         80;
           listen         [::]:80;
           server_name    example.com www.example.com;
           return         301 https://www.example.com$request_uri;
    }
    # non-www to www via https
    server {
            listen 443 ssl;
            listen [::]:443 ssl;
            ssl_certificate /etc/ssl/certs/*.domain.pem;
            ssl_certificate_key /etc/ssl/private/*.domain.pem;
            server_name example.com;
            return 301 https://www.example.com$request_uri;
    }
    # Main configuration
    server {
            listen 443 ssl http2 default_server; # http2 нужен если вы хотите использовать HTTP/2, иначе не нужно
            listen [::]:443 ssl http2 default_server; # http2 нужен если вы хотите использовать HTTP/2, иначе не нужно
            server_name www.example.com;
            ssl_certificate /etc/ssl/certs/*.domain.pem;
            ssl_certificate_key /etc/ssl/private/*.domain.pem;
            # Остальная конфигурация
            ...
        
    }
    Ответ написан
    22 комментария
  • Кеширование результата работы PHP?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    nginx fastcgi_cache
    Ответ написан
    Комментировать
  • Как сделать так, чтобы письмо отправленное на почту дублировалось в админку сайта?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Специально для плагина Contact Form 7 от того же автора есть плагин Flamingo, который именно для этого и предназначен.
    Ответ написан
    Комментировать
  • Как сделать поиск по разным ключевым словам?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Стандартный поиск в WordPress весьма простой. Вот пример непосредственно SQL-запроса из вашего случая (первого, остальные некорректны изначально):
    SELECT SQL_CALC_FOUND_ROWS wp_posts.ID
    FROM wp_posts 
    WHERE 1=1 
    AND (((wp_posts.post_title LIKE '%рыба%')
    OR (wp_posts.post_excerpt LIKE '%рыба%')
    OR (wp_posts.post_content LIKE '%рыба%'))
    AND ((wp_posts.post_title LIKE '%печенье%') // Вот тут оператор AND, то есть WP смотрит вхождение обеих слов
    OR (wp_posts.post_excerpt LIKE '%печенье%')
    OR (wp_posts.post_content LIKE '%печенье%'))) 
    AND wp_posts.post_type IN ('post', 'page', 'attachment')
    AND (wp_posts.post_status = 'publish'
    OR wp_posts.post_author = 1
    AND wp_posts.post_status = 'private') 
    ORDER BY (CASE
    WHEN wp_posts.post_title LIKE '%рыба печенье%'
    THEN 1
    WHEN wp_posts.post_title LIKE '%рыба%'
    AND wp_posts.post_title LIKE '%печенье%'
    THEN 2
    WHEN wp_posts.post_title LIKE '%рыба%'
    OR wp_posts.post_title LIKE '%печенье%'
    THEN 3
    WHEN wp_posts.post_excerpt LIKE '%рыба печенье%'
    THEN 4
    WHEN wp_posts.post_content LIKE '%рыба печенье%'
    THEN 5
    ELSE 6 END), wp_posts.post_date DESC
    LIMIT 0, 10

    Если в поиске вводить "рыба -печенье", то будут выведены результаты где есть "рыба" и нету "печенье". Это по сути единственный оператор, который есть в стандартном поиске.

    Сам код, который формирует WHERE часть запроса, смотрите тут.

    Как видно по коду (и задокументировано в этом файле в комментах выше), есть переменная $sentence, которая отвечает за поиск фразы целиком, есть переменная $exact. Фильтров там не густо. В общем, изучайте код. Возможно, проще будет написать свой запрос. Возможно, удастся модифицировать стандартный через фильтр posts_search. Впрочем, найти по нему документацию задачка еще та :) Возможно, найдете что-то полезное тут:

    wordpress.stackexchange.com/questions/112723/exten...
    https://gist.github.com/mbijon/4979627
    stackoverflow.com/questions/9221604/how-to-use-cus...
    Ответ написан
    Комментировать
  • Ресайз изображения на лету средствами WordPress?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    wp_get_image_editor() требует путь к локальному изображению, а не url. URL может работать, но далеко не всегда - зависит от сервака. Посмотрите дамп $image, не факт что картинка с удаленного сервера прилетела в WP_Image_Editor и он корректно инициализировался.
    Ответ написан
  • Какой шаблон используется для показа отдельных страниц?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Установите плагин Query Monitor, с его помощью все увидите:

    6b541baa6f914ad5a2d6a56fd2610594.png
    Ответ написан
    Комментировать
  • Как создать независимый планиг на wordpress со своими стилями и роутом?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Если вам на этой странице нужны какие-то данные от WordPress - включите REST API, а потом отдельно создавайте эту простую страничку вне среды WordPress по любому удобному для вас URL и загружайте в нее нужные данные через API. И вот эту страничку можете включать где угодно в виде iframe. Хотя, имхо, сам вариант iframe это не очень хорошая мысль, поскольку есть API, используйте javascript.
    Ответ написан
    Комментировать
  • Как вставить иконку только для первого пункта меню в Wordpress?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Либо просто с помощью CSS бекграундом или :after дописать, или же если нужно все-таки разметку вставить () - в админке для пункта меню укажите специальный css-класс, например has-icon-login, далее хукаетесь в walker_nav_menu_start_el и модифицируете разметку:
    function my_custom_markup( $item_output, $item, $depth, $args ) {
    
    	// Отлавливаем элемент меню с нашим классом
    	if ( in_array( 'has-icon-login', $item->classes ) ) {
    		// Меняем разметку
    		return str_replace(
    			'<a',
    			'<i class="icon-user"></i><a',
    			$item_output
    		);
    	}
    
    	return $item_output;
    
    }
    add_filter( 'walker_nav_menu_start_el', 'my_custom_markup', 100, 4 );
    Ответ написан
    Комментировать
  • Для чего нужен массив post_fields в WP_Comment?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    В самом классе WP_Comment $post_fields используется в магических методах __isset() и __get(). Сам по себе класс WP_Comment появился недавно, и является частью текущей стандартизации объектов WP и приведения ядра к более современным практикам. В данный момент, насколько я знаю, эти данные не используются, но в будущем будут использоваться. Для чего - пока не готов сказать. Подозреваю, это будет связано с Custom Comment Type.
    Ответ написан
    Комментировать