Intereting Posts

Переписать правила для настраиваемого типа сообщения

Существует неиерархический пользовательский тип сообщений «новости».

/news/ /news/page/2/ /news/post_slug/ 

У каждого сообщения есть пользовательские поля "views" . Когда кто-то открывает сообщение, значение поля увеличивается на единицу.

Хотелось бы сортировать сообщения по этому настраиваемому полю по его значению.

 /news/ /news/views/ = /news/?sort=views (get posts with custom field "views" and sort asc) /news/views/page/2/ = /news/?sort=views&page=2 (similar to previous, next page) /news/post_slug/ 

Получил работу /news/?sort=views , но эта ссылка не похожа на человека.

Он должен быть преобразован в /news/views/ и иметь возможность обрабатывать разбиение на страницы.

Как мы можем это сделать?

Solutions Collecting From Web of "Переписать правила для настраиваемого типа сообщения"

Вы должны посмотреть add_rewrite_tag() и add_rewrite_rule()

Также читайте эту и эту тематику. Они очень близки вам.

После настройки правила перезаписи не забудьте сбросить правила

 add_action( 'wp_loaded','my_flush_rules' ); // flush_rules() if our rules are not yet included function my_flush_rules(){ $rules = get_option( 'rewrite_rules' ); $pattern = 'news/([^/]+)?'; // the same pattern that was used in add_rewrite_rule if ( !isset( $rules[$pattern] ) ) { global $wp_rewrite; $wp_rewrite->flush_rules(); } }