Intereting Posts
Создайте пользователя с ролью автора, но не введите регистрационную информацию Импорт изображений с изображениями в сообщения, дублирование изображения Автоматически извлекать новые сообщения и добавлять к текущей странице. Использовать $ query-> несколько раз с помощью pre_get_posts? Результаты meta_query не совпадают с пробелами и без них Получать количество должностей в каждой категории с момента последнего посещения Потеря параметра запроса при использовании постоянной ссылки Проблема при фильтрации по 'category_name' Блокировщик панели мониторинга для многопользовательской сети для определенных пользовательских ролей какие эффективные способы отладки cron Получение переменной внутри foreach от PHP до JS после локализации Аутентификация пользователя с WP-API V2 в Postman Что такое файл pclzip.lib.php, что wordfence считает, что это вредоносный код Как включить настраиваемый тип сообщения в плагин? Вложенные короткие коды

Пользовательский URL-адрес WordPress Повторно перенаправляет не маскировку

У меня есть следующий код, который существует в плагине, который предназначен для запроса на url /stores/directory/foorbar/ и пропускает foobar в качестве переменной GET:

 function pcrr_rewrite_rules($a) { $k = array('stores/directory/([^/]+)/?$' => 'index.php?pagename=directory&pod_store_id=$matches[1]'); return $k + $a; } add_filter('rewrite_rules_array', 'pcrr_rewrite_rules'); # Flush existing rules and rewrite function pcrr_activate() { global $wp_rewrite; $wp_rewrite->flush_rules(); } register_activation_hook(__FILE__, 'pcrr_activate'); 

Ожидаемым поведением были бы любые запросы /stores/directory/foobar/ вместо этого загружали бы index.php?... однако, в то время как запросы обрабатываются, они перенаправляются на URL, а не маскируют его. Например, запрос /stores/directory/foobar/ перенаправляется в /stores/directory/ .

Любые идеи о том, как я могу исправить это поведение?

Ура!

Solutions Collecting From Web of "Пользовательский URL-адрес WordPress Повторно перенаправляет не маскировку"

Quick'n'dirty Class, чтобы сделать это ниже (вам нужно рушить вручную в настройках администратора для постоянных ссылок):

 <?php /** * Add query args & vars & redirect stuff somewhere else * Could be extended to support arrays of query args on input * @package Rewrite Class * @author FJKaiser */ class wpseAddRewriteRules { var $file_name; var $query_arg; var $query_var; function __construct( file_name, query_arg, query_var ) { $this->file_name = $file_name; $this->query_arg = $query_arg; $this->query_var = $query_var; add_action( 'wp_loaded', array( &$this, 'add_rewrite_rule') ); add_filter( 'query_vars', array( &$this, 'add_query_vars') ); add_action( 'parse_request', array( &$this, 'parse_request') ); } function add_rewrite_rule() { add_rewrite_rule( "{$this->file_name}.php$" ,"index.php?{$this->query_arg}={$this->query_var}" ,'top' ); } function add_query_vars( $query_vars ) { $query_vars[] = $this->query_arg; return $query_vars; } function parse_request( &$wp ) { if ( array_key_exists( $this->query_arg, $wp->query_vars ) ) { include plugin_dir_path( __FILE__ )."{$this->file_name}.php"; exit(); } return; } } 

Примечание: просто списано с моей стороны, так что никаких гарантий на что-либо. Типы и такие могут быть скрыты там.