Ответы пользователя по тегу CMS
  • Передача сайта на доработку в чужие руки - как не "попасть"?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Йолки ж палки. Никто в своем уме не дает доступ к production кому попало. Для таких задач есть системы контроля версий и staging. Если это суперсложно - фрилансеру даете дамп базы и копию сайта (или ссылку и права на Git-репу), он разворачивает у себя development-копию, делает правки, коммитит в Git / шлет вам архив / показывает на своем сервере. После утверждения работ переносите правки к себе.
    Ответ написан
    Комментировать
  • Комментарии к записях через соц. сети и сам Wordpress в одном потоке?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Используйте WordPress Social Login для авторизации через соцсети и родные комментарии WP.

    Задумка вставить виджеты соцсетей и потом собирать все комменты вперемешку - бредовая изначально. Хотя, в целом, реализуема - кроном дергаете соцсети и импортируете комменты к себе, фиксите по датам и сортировку свою делаете. Но, повторюсь, затея бредовая по своей сути.
    Ответ написан
    Комментировать
  • Как хранить данные о страницах сайта в БД?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    А остальная архитектура у вас какая? В самом простом случае я бы хранил в 2х таблицах - в одной основной контент и основные флаги и свойства, в другой - метаданные. Title как правило соответствует названию страницы (заголовку), поэтому это будет в основной таблице, как и контент. Метаданные (ключевые слова и тд) - в отдельной таблице. Связка - по ID страницы.
    Ответ написан
    8 комментариев
  • Постоянные ссылки с помощью rewrite_rule. Голова уже сломана. Как?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Подобные rewrire rules - штука достаточно непростая, ибо, как вы заметили, документация и уроки по этой теме практически отсутствуют. Я года два назад для одной SaaS-платформы на базе WP делал подобную штуку с городами. В итоге сделал, но убил не одну ночь на это, моск почти сломал. Сейчас со старта не вспомню детали, но логика плюс-минус такова:

    1. add_rewrite_tag - создать теги-шаблоны %city% и тд
    2. зарегистрировать новые переменные для query через фильтр query_vars
    3. создать rewrite_rules

    Самое главное - регулярки, которые будут ваши rewrite tags (1) парсить в переменные query (2). То есть, результирующая строка в итоге будет типа index.php?post_type=XXX&taxonomy1=YYY&taxonomy1_term=ZZZ&taxonomy2=WWW&taxonomy2_term=UUU

    Да и вообще, для начала сделайте п.2 и добейтесь чтобы у вас все работало с "некрасивыми урл", а уж потом - займитесь ЧПУ. Потому как с rewrite rules чаще всего беда как раз в том, что query vars неправильные.

    Ну и потом еще сами урлы ссылок (пермалинки) надо будет в нужном формате строить. Там свои хуки, но это уже не сложно.

    В общем, приготовьтесь к большому объему отладки, запаситесь кофе Query Monitor и Rewrite Rules Inspector в помощь.

    Если настойчиво исследовать результаты гугла после 3й страницы, пробовать разные ключевые фразы, то должно найтись 2-3 урока, более-менее глубоких. 2 штуки точно было на каком-то сайте кажется со словом Shiba в названии. Я пороюсь на досуге в архивах, может найду.
    Ответ написан
  • Обязательно ли знать php для верстки сайтов на joomla\word press\ drupal?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Простой ответ - да.
    Сложный ответ:

    Есть имплементаторы, есть разработчики. И те, и другие делают сайты. Первые собирают лего путем утановки и настройки цмс, двух десятков плагинов, максимум - копипаста простого кода из интернетов. Вторые на базе цмс решают любые задачи, ровно так, как надо. Разница огромная - и по деньгам, и по срокам, и по качеству. Но и то, и другое - вариант. По сути, это просто разные лиги. Региональный любительский чемпионат против олимпиады или чемпионата мира. Как-то так. Поэтому, если вам в имплементаторы, то достаточно основ пхп, которых нахватаетесь в процессе. Если в разработчики - ближайший год вам придется плотно учиться.
    Ответ написан
    Комментировать
  • Какую cms выбрать для сайта каталога с 2к страниц? выбираю между ModX Re и Wordpress?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Ту, которую знаете хорошо изнутри. Ну или ваш разработчик знает. Обе системы справятся прекрасно, вопрос только в ровности рук.
    Ответ написан
    Комментировать
  • Как реализовать добавление "компании" WordPress?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Ничего не понятно. Куда добавлять компанию? Это только название компании? Где оно должно выводиться? Должны ли по нему фильтроваться / сортироваться любые данные?

    Что такое "блоговая структура" и что такое "мультиблоговость", как они между собой связаны в данном контексте, и в чем, собсттвенно проблема?

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

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Есть ли какие-то альтернативы, чтобы быстро создавать темы для вордпресс (фронтенд+бекенд)?

    То, что вы имеете в виду - это конструктор говнокода из лего-конструктора, а не фронтенд+бекенд. Если вам ехать (действительно создавать) - любой редактор, от Notepad.exe до Sublime Text или PHPStorm. Если вам шашечки, да еще и бесплатно - ну.. попробуйте Page Builder, что ли.
    Ответ написан
    Комментировать
  • Что значит "натянуть HTML-шаблон на WordPress"?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Означает ли фраза "натянуть HTML-шаблон на WordPress" что в итоге должен получиться полнофункциональный сайт под управлением WP?

    Да, именно это и означает. Это означает что нужно взять статический html, разбить на php-шаблоны (header.php, footer.php, sidebar.php, index.php, archive.php, single.php, page.php, search.php, 404.php и так далее). В самих шаблонах все динамические данные и все, что "захардкожено" перевести на соответствующие template tags, подключить вывод контента (через WordPress Loop, Widgets и тд). Поставить и настроить нужные плагины или дописать свой кастомный код (в functions.php или в свой собственный плагин(ы)) чтобы функционал был именно такой, как надо по ТЗ. Но эта часть (кастомный функционал) уже начинает выходить за рамки "натянуть шаблон".

    В общем, на выходе после этой "натяжки" у вас вместо статического html должен быть работающий динамический сайт, контент которого клиент может редактировать в админке, и все изменения будут сразу отображаться на сайте.

    И еще вот этот мой ответ почитайте.

    И чуть-чуть под другим углом спрошу: при покупке готовой WordPress темы и ее установки на WP получится ли готовый сайт под управлением WP?


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

    Поэтому, действительно получить хорошую, качественную работу на базе WordPress можно только в одном случае - заказать под конкретно свои задачи у опытных wp-разработчиков. Только помните, разработчики - это php-программисты, которые умеют писать кастомный код под WordPress. Программисты, которые хорошо знают именно внутренности WordPress, и пишут под него, а не свои костыли сверху и сбоку. И не путайте с имплементаторами (не программисты, а "вебмастера", которые умеют найти говноплагин и установить его, максимум - пофиксить стили или копипастой вставить какой-то код, найденный в гугле).

    То есть фактически получается что техзадание заменяется шаблоном (макетом)?


    Нет. Если функционал хоть немного выходит за пределы стандартных (встроенных) фич WP - дальше придется допиливать руками, устанавливать (и часто затачивать) чужие плагины или писать свои. Готовых пллагинов - десятки тысяч, но далеко не все нормально написаны и на 100% подойдут под ваши задачи. В общем, для сайта, чуть сложнее чем блог, будет достаточно много кастомной работы, и для нее необходимо готовить ТЗ. Если кто-то вам говорит, что может за пару часов засетапить любой сайт на WP и сделать что угодно за 500-1000 рэ - вам попался имплементатор, который нихрена не понимает из того что делает, и все, что он выдаст - это очередной говносайт, проблем с которым будет больше, чем пользы.
    Ответ написан
    1 комментарий
  • Как отключить СПАМ "новый пользователь" от WordPress?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Как я уже написал ankfrv в комменте, pluggable функции - это те, которые вы можете переназначить. Поэтому, решение простое - копируете оригинальную функцию wp_new_user_notification() из файла pluggable.php в свой functions.php и убираете код, который шлет письма админу. Получится на выходе такое:

    if ( ! function_exists( 'wp_new_user_notification' ) ) :
    	function wp_new_user_notification( $user_id, $plaintext_pass = '' ) {
    		
    		// Return early if no password is set.
    		if ( empty( $plaintext_pass ) ) {
    			return;
    		}
    			
    		$user 	    = get_userdata( $user_id );
    		$user_login = stripslashes( $user->user_login );
    		$user_email = stripslashes( $user->user_email );
    		// The blogname option is escaped with esc_html on the way into the database in sanitize_option
    		// we want to reverse this for the plain text arena of emails.
    		$blogname = wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES );
    		$message  = sprintf( __( 'Username: %s' ), $user_login) . "\r\n";
    		$message .= sprintf( __( 'Password: %s' ), $plaintext_pass) . "\r\n";
    		$message .= wp_login_url() . "\r\n";
    		wp_mail( $user_email, sprintf( __( '[%s] Your username and password' ), $blogname ), $message );
    	}
    endif;


    Есть плагин Disable New User Notification Emails, который делает ровно то же.
    Ответ написан
    Комментировать
  • Как вывести подрубрики на странице рубрик?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Для вывода рубрик есть функция get_categories(). Для вывода подкатерий у этой функции есть аргумент parent, который должен быть равен ID родительской категории.
    Ответ написан
    Комментировать
  • Из какой CMS картинка?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Картинка из Gravatar, как уже подсказали. Означает, что пользователь на Gravatar не зареган. Используется Gravatar в WordPress, возможно еще в каких-то CMS.
    Ответ написан
    Комментировать
  • Какая CMS выдержит большую нагрузку?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    1. Статические генераторы.
    2. WordPress как бекэнд + WP REST API + фронтэнд на каком-нибудь Angular.
    Ответ написан
    Комментировать
  • Какое будущее у конструкторов wix или ucos?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Пока будет жива ЦА, которой таких решений достаточно - будут жить. А ЦА будет всегда.
    Ну и, не стоит все же ставить Wix и Ucoz в одну линейку, это как мед и говно сравнивать :)
    Ответ написан
    Комментировать
  • На какую cms лучше перенести сайт с wordpress?

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

    Причин тому нескольлко:

    - Далеко не все плагины работают со всеми темами прямо из коробки, это нормально, так и должно быть. Часто нужно закатать рукава и дописать что-то в код шаблонов.
    - Конфликты плагинов случаются крайне редко, если вы сталкиваетесь с этой проблемой часто - вы что-то делаете не так.
    - Обе проблемы были, есть и будут на любой платформе, но и на любой другой платформе этого будет в разы больше.
    - Экосистема WP самая большая, кроме того, WP больше других платформ озабочен обратной совместимостью. Этого всего нет у Джумлы и других CMS.
    - Другие CMS вам вряд ли подойдут, так как вам требуется не инструмент для разработчика, а конструктор. Посему, у вас вариантов нет, только WordPress или онлайн-конструкторы типа Wix, Squarespace. Но там свободы в разы меньше.

    Я бы вам предложил просто начать более углубленное изучение WordPress. Задавать здесь конкретные вопросы по конкретным ситуациям "несовместимости" и "отсутствия поддержки". Мы поможем.

    WordPress - лучшая из доступных CMS. Говорю это со знанием дела, как человек, который на базе WordPress разрабатывает целые SaaS-платформы и сложные инструменты. Мощнее только фреймворки - Laravel, Symfony и тд, но это точно не ваш путь, по крайней мере пока.
    Ответ написан
    Комментировать
  • Есть ли такой плагин для WP?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    А зачем в этом случае пагинация, зачем изобретать какой-то велосипед? Вам нужен Infinite Scroll. Например, он есть в Jetpack. Есть еще с десяток плагинов минимум.
    Ответ написан
  • Пробовали ли Вы конструктор для сайтов (WP)?

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

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Посмотрите Solved by Flexbox. Сетка и адаптивный подход - это не вагон кода, даже с классическим подходом. HTML по своей природе mobile-first and responsive, а по мере усложнения добавляйте нужные правила.

    Фреймворки для небольшого сайта - overkill. Готовые фреймворки для большого сайта - форсирование стандартов фреймворка и отсутствие должной гибкости. Поковыряйте фреймворки, посмотрите как у них неализовано, изучите технику. А дальше всегда делайте под конкретный проект. С SASS верстка сетки и адаптивного лейаута на уровне контейнеров и модулей занимает несколько минут.
    Ответ написан
    Комментировать
  • Как правильно вывести рубрики WORDPRESS?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    get_terms( $args );
    Документация: eng (официальная), рус. Примеры кода есть по ссылкам. Остается только вопрос как и где у вас хранятся картинки. Это плагин какой-то или кусочек кода из инттернетов, который вы вставили в functions.php?
    Ответ написан
    Комментировать