Intereting Posts
будет ли post_id когда-либо изменяться? Можно ли безопасно использовать post_id для пользовательских запросов? Как организовать фотографии для нескольких галерей? Мой виджет не будет обновлять свои значения при нажатии кнопки «Сохранить» 404 Ошибка при активации / деактивации плагина Сообщения, не отображающие подкатегорию в иерархии Иерархия шаблонов WordPress Принудительное использование RSS 0.92 feed Ограничение страницы архива на сообщения, отправленные конкретным автором Buddypress отправляет уведомление по электронной почте только в том случае, если пользователь не вошел в систему короткий код для логотипа Отображать теги из определенной категории в выбранных полях add_action перед настройкой темы Как я могу сортировать категории по ID Генерация robots.txt динамически WP_Query: исключить скрытые продукты из списка продуктов WooCommerce

Уточнить пользовательские сообщения от автора

Я хочу иметь способ отображения пользовательского почтового архива для конкретного автора. Я могу отображать пользовательские сообщения для категории, но не только пользовательские сообщения для автора. У меня уже есть отдельный шаблон страницы автора, отображающий все записи, которые они написали, разделенные типом сообщения. Я спрашиваю об этом, используя:

query_posts( array( 'post_type' => 'custom_post_name', 'author'=>$curauth->ID ) ); while (have_posts()) : the_post(); 

По сути, я хочу, чтобы на каждом авторе было несколько страниц шаблонов авторов.

Solutions Collecting From Web of "Уточнить пользовательские сообщения от автора"

Для его выполнения необходимо выполнить три шага.

1. Добавить правила перезаписи

 add_action('generate_rewrite_rules', 'author_cpt_add_rewrite_rules'); function author_cpt_add_rewrite_rules( $wp_rewrite ) { $new_rules = array( 'author/(.+)/(.+)' => 'index.php?author='.$wp_rewrite->preg_index(1) . '&post_type=' .$wp_rewrite->preg_index(2) ); //​ Add the new rewrite rule into the top of the global rules array $wp_rewrite->rules = $new_rules + $wp_rewrite->rules; } 

2. Перенаправление на конкретные шаблоны

 function author_cpt_template_redirect() { global $wp_query; // check for the target request if (!empty($wp_query->query_vars['author']) && !empty($wp_query->query_vars['post_type'])) { // turn off 404 error $wp_query->is_404 = false; // include if template is available if(file_exists('author-'.$wp_query->query_vars['post_type'].'.php')) include('author-'.$wp_query->query_vars['post_type'].'.php'); else if(file_exists('author.php')) include('author.php'); else include('index.php'); return; } } в function author_cpt_template_redirect() { global $wp_query; // check for the target request if (!empty($wp_query->query_vars['author']) && !empty($wp_query->query_vars['post_type'])) { // turn off 404 error $wp_query->is_404 = false; // include if template is available if(file_exists('author-'.$wp_query->query_vars['post_type'].'.php')) include('author-'.$wp_query->query_vars['post_type'].'.php'); else if(file_exists('author.php')) include('author.php'); else include('index.php'); return; } } в function author_cpt_template_redirect() { global $wp_query; // check for the target request if (!empty($wp_query->query_vars['author']) && !empty($wp_query->query_vars['post_type'])) { // turn off 404 error $wp_query->is_404 = false; // include if template is available if(file_exists('author-'.$wp_query->query_vars['post_type'].'.php')) include('author-'.$wp_query->query_vars['post_type'].'.php'); else if(file_exists('author.php')) include('author.php'); else include('index.php'); return; } } в function author_cpt_template_redirect() { global $wp_query; // check for the target request if (!empty($wp_query->query_vars['author']) && !empty($wp_query->query_vars['post_type'])) { // turn off 404 error $wp_query->is_404 = false; // include if template is available if(file_exists('author-'.$wp_query->query_vars['post_type'].'.php')) include('author-'.$wp_query->query_vars['post_type'].'.php'); else if(file_exists('author.php')) include('author.php'); else include('index.php'); return; } } 

3. Записи для заполнения страницы или шаблона

 add_action('template_redirect', 'author_cpt_template_redirect', 1); function query_author_cpts( $query ) { // check for the target request if (!empty($query->query_vars['author']) && !empty($query->query_vars['post_type'])) { // query posts accordingly query_posts( array( 'post_type' => $query->query_vars['post_type'], 'author_name' => $query->query_vars['author'], 'paged' => get_query_var( 'paged' ) ) ); } } add_action( 'wp', 'query_author_cpts' );