Intereting Posts
WPCLI ищет и заменяет в стороннем сайте dir effect другой сайт-каталог Меню не отображает категорию продукта woocommerce Получить пользовательские размеры эскизов Добавить пользовательский JavaScript, который представляет собой комбинацию CDN / загруженных файлов и легко редактируемого кода? Пользовательский аватар по умолчанию с неработающей ссылкой Невозможно изменить URL-адрес сайта wordpress the_post_navigation, похоже, игнорирует фильтр той же категории Как отображать таксономические термины, как они иерархичны таблица стилей в заголовке или функциях? Как сделать другой компьютер в локальной сети, см. Мою тему Получить ссылку на страницу, выбранную с помощью поля выбора в пользовательской странице администратора Целевая ссылка по умолчанию TinyMCE для «_blank» Просмотр сообщений по тегам на странице Отображение списка загруженных изображений, отфильтрованных пользователем под определенной группой пользователей Ошибка при установке Контактный формуляр 7

Как добавить правило переадресации в WordPress?

Прямо сейчас я могу динамически генерировать js и css, основываясь на моих параметрах темы

Для этого я настроил запрос var, который, если он переадресовывается в файл php, который затем загружается как файл javascript. После этого он берет jqpostID и захватывает все параметры, которые мне нужно сгенерировать.

Я в основном должен включать ссылку на скрипт, которая ссылается на часть местоположения моего html http://mywordpress.com/?dynamic=js&jqpostid=130

Я бы хотел сделать его более читаемым и менее очевидным, что он динамически генерируется. может быть, так …

http://mywordpress.com/dynamic/js/123

я полагаю, это было бы даже лучше … http://mywordpress.com/dynamic/js/123.js

Я полагаю, что мне нужно как-то подключить механизм перезаписи WordPress. И добавьте новое правило. Любая помощь или ссылки на другие статьи были бы замечательными, или какой-то образец кода был бы потрясающим.

Solutions Collecting From Web of "Как добавить правило переадресации в WordPress?"

добавление этих функций должно сделать трюк.

Прежде всего, добавьте эту строку в functions.php, пока вы работаете над этим:

add_action('init', 'flush_rewrite_rules'); 

То, что этот код будет делать, – это постоянно очищать правила перезаписи, что упрощает тестирование, когда вы работаете над ним, вместо того, чтобы входить и вручную перезагружать их после каждого небольшого изменения, внесенного вами в правила перезаписи. УБЕДИТЕСЬ, что вы удалите это, когда закончите, и убедитесь, что все работает.

Затем эта функция создаст правила перезаписи, которые вы хотите.

 function custom_add_rewrite_rules( $wp_rewrite ) { $new_rules = array( 'dynamic/js/(\d+).js' => 'index.php?dynamic=js&jqpostid=' . $wp_rewrite->preg_index(1), 'dynamic/css/(\d+).css' => 'index.php?dynamic=css&csspostid=' . $wp_rewrite->preg_index(1) ); $wp_rewrite->rules = $new_rules + $wp_rewrite->rules; } add_action('generate_rewrite_rules', 'custom_add_rewrite_rules'); 

Я принял удар, в котором, возможно, будет выглядеть правило CSS, возможно, вам придется настроить его для своих нужд, я просто подумал, что он будет отформатирован так, как вы описали для javascript. Это может вызвать странное поведение, когда он пытается переписать URL-адрес в расширение файла, и может вообще не работать. В этом случае просто удалите .js и .css с конца первой части ассоциативных записей массива.

 function custom_add_rewrite_rules( $wp_rewrite ) { $new_rules = array( 'dynamic/js/(\d+)' => 'index.php?dynamic=js&jqpostid=' . $wp_rewrite->preg_index(1), 'dynamic/css/(\d+)' => 'index.php?dynamic=css&csspostid=' . $wp_rewrite->preg_index(1) ); $wp_rewrite->rules = $new_rules + $wp_rewrite->rules; } add_action('generate_rewrite_rules', 'custom_add_rewrite_rules'); 

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

Надеюсь, это поможет вам, не стесняйтесь обращаться ко мне, если у вас возникнут проблемы.