Отдельная «поддиректория» для блога в WordPress

По умолчанию, в стоковой установке WordPress формирует постоянные ссылки (permalinks) для постов неотличимые по внешнему виду от статических страниц. Если WP используется как CMS это может быть нежелательно. В случае CMS часто бывает логичней выкладывать статические страницы с пермалинками начиная с корня /, а посты — начиная с некоторого слова, подсказывающего, что пост относится к блогу, например /blog. Это возможно сделать стандартными средствами вордпресса.

Для того, чтобы настроить WP, чтобы он добавлял префикс /blog в начале пермалинков делаем следующее:

  • В админке Settings -> Reading есть возможность настроить статические страницы по умолчанию (front pages) для основного сайта и для блога. Для сайта в случае использования WP как CMS она обычно настроена. Если не настроена, то создаём такую или выбираем из существующих. Для блога — создаем новую пустую и ставим к ней пермалинк /blog.
  • Выбираем созданные front pages соотвественно для основного сайта и для блога.
  • В Settings -> Permalinks меняем формат пермалинков для постов на /blog/%postname%. Предлагаемые по умолчанию настройки RewriteRules в .htaccess подходят и для нашего случая, их не трогаем.
  • Там же меняем базовый URL для категорий и тегов, например на blog/category и blog/tags.
  • Меняем внутренние линки на посты на новые, а также добавляем 301 редиректы со старых постов на новые.

После этого всё работает.

В интернетах находятся и другие how-to по данному вопросу. То, что выше — короткая выжимка из этого.

Как убрать фигурные кавычки WordPress

Русский WordPress в стоковой конфигурации имеет плохую привычку заменять обычные кавычки на фигурные (французские). Особенно это досаждает, когда выкладывается какой-то код и в нем происходит автозамена.

К счастью, это легко исправляется. Для этого в файле /wp-includes/formatting.php находим строки, отвечающие за замену кавычек:

/* translators: opening curly double quote */
$opening_quote = _x( '“', 'opening curly double quote' );
/* translators: closing curly double quote */
$closing_quote = _x( '”', 'closing curly double quote' );

и в них меняем символы ‘“’, ‘”’ на ‘"’.

PS: Да, с обновлением WP, код может снова поменяться на оригинальный. По-хорошему, такое надо делать с помощью утилит diff и patch.