sergafon: попробуйте отключить кастомную обработку ссылок, в принципе, тот механизм, что уже есть в WP, должен справиться без проблем с такими ссылками.
sergafon: я в темах использую такой вариант, работает при переключении темы:
/* register custom post type and flush rewrite rules for custom post type url */
function theme_reflush_rules() {
global $wp_rewrite;
$wp_rewrite->flush_rules();
}
add_action( 'after_switch_theme', 'theme_reflush_rules' );
Это действие не нужно запихивать в функцию регистрации товаров. Нужно сделать отдельную функцию и вызывать её с помощью хука при активации плагина. Или темы.
Плюсую за _s - самый простой вариант освоить основные best practices в верстке тем для WP.
Использовать ЦЗ-фрейворки типа Redux на этом этапе смысла нет, т.к. они добавляют в основном плюшки к бакэнду, а это не самое главное.
Бутстрап - штука хорошая, безусловно, но для WP его есть смысл брать тогда, когда других вариантов нет. Вашу же задачу можно прекрасно решить и без бутстрапа.
Константин: Дайте ссылку на страницу, посмотрю в коде, телепатировать пока не научился :)
По второму пункту - так у вас же таблицы переименованы, конечно wp_posts не будет найдена, т.к. вместо неё O_чего-то-там-замазано_posts
Viktor Grachev: А к ней не надо обращаться :) Нужно скопировать код в файл functions.php своей темы, поменять название функции на, к примеру, get_custom_formatted_shipping_address(), внести в код функции необходимые изменения и вызывать уже её в шаблоне Woocommerce.
Шаблон Woocommerce, естественно, также нужно скопировать в свою тему. Просто создать папку /woocommerce/ в папке с темой и в созданную папку скопировать содержимое папки /templates/ из плагина. Именно содержимое, не саму папку /templates/. И этот шаблон уже можно ковырять, не боясь, что при обновлении плагина возникнут какие-то проблемы.
Николай Владимирович: я этот плагин уже давно в стандартную сборку для всех своих сайтов включил, т.к. постоянно приходится перегенерировать миниатюры.
WP Panda: Решение интересное, но спорное с точки зрения нагрузки на сервер. Я считаю, что выводить одну картинку и ресайзить её, используя ресурсы клиента гораздо менее затратно, чем ресайзить ту же картинку, но каждый раз используя ресурсы сервера.
Как вариант - можно оставить как есть. Все же дисковое пространство стоит дешевле процессорного времени :)
А чем шорткоды не нравятся? Можно напрямую вызывать те функции, которые обрабатывают шорткоды или написать свой обработчик и вставить его в шаблон с помощью хука - но зачем?
У WP достаточно невысокий порог входа, можно с самыми минимальными знаниями делать темы. Но, к примеру, делать виджеты или работать с API Theme Customizer, который необходим для кастомизации темы, без понимания, что такое ООП, как минимум затруднительно.
Я считаю, что проще всего изучать на примерах, брать сначала самые простые вещи и смотреть, как они реализованы в Кодексе, в других темах, повторять это самостоятельно. Хотя учиться по чужим темам достаточно сложно, к тому же далеко не все темы сделаны правильно, колхоза там хватает.
Если речь идет о тех темах, что на Themeforest - то да, там шорткоды очень распространены. Но они используются либо лишь для специфического контента, который без темы просто не будет выводиться, либо реализованы с помощью сторонних плагинов. Их можно встраивать в тему, но лучше использовать TGM plugin activation (tgmpluginactivation.com).
Кастомные типы записей в тему включать крайне не рекомендуется. Ведь если у админа сайта будет желание сменить тему, то все записи, сделанные через CPT, будут потеряны. Либо придется их конвертировать, а это отдельный геморрой, т.к. весь frontend и backend для них все равно останется в старой теме.