Intereting Posts
Проблемы с размером изображения на сервере WordPress Изменение кнопки входа на страницу входа в систему Плагин для отключения RTE на выбранной странице Бесплатные темы для коммерческого использования Phpmyadmin – редактирование сообщений Проблема при загрузке прошлых 8MB? Файлы JavaScript, зарегистрированные в родительской теме, не будут загружаться при вызове wp_enqueue_script () в дочерней теме? плагины, не работающие над настраиваемой темой, – не уверены, как исправить изменить функциональный фильтр Как переносить / WordPress папку с одного ПК на другой Как сохранить значение раскрывающегося списка настраиваемого поля для публикации ссылок? Как удалить все пункты меню панели администратора? Как условно перенаправить сообщение на страницу таксономии? TinyMCE Autoresize Как исключить должности из категории при использовании этого конкретного формата

Изменить предыдущие и следующие записи по ссылкам на текущие авторы Другие записи

Я создал пользовательскую gallery типа публикации.

Как изменить previous post и next post ссылку для ссылки на текущие должности авторов?

Ссылка Previous и Next Post не должна отображаться, если больше сообщений нет

введите описание изображения здесь

Solutions Collecting From Web of "Изменить предыдущие и следующие записи по ссылкам на текущие авторы Другие записи"

Правильный способ сделать это с WordPress 4.4 выглядит следующим образом:

 add_filter( "get_next_post_where", function($where, $in_same_term, $excluded_terms, $taxonomy, $post){ $where .= " AND p.post_author='".$post->post_author."'"; return $where; }, 10, 5); add_filter( "get_previous_post_where", function($where, $in_same_term, $excluded_terms, $taxonomy, $post){ $where .= " AND p.post_author='".$post->post_author."'"; return $where; }, 10, 5); 

Примечание. Пожалуйста, не следуйте принятому ответу levidia1221, поскольку он включает в себя модификацию WordPress Core, что является ужасной идеей. Изменение основного средства означает, что вы не можете обновлять WordPress без потери ваших изменений, что представляет собой огромный риск для безопасности. Если в функции, которую вы хотите изменить, нет крючков, лучше скопировать нужные вам функции и изменить их в своей теме или плагине, а не напрямую изменять основные файлы.

Чтобы ограничить отправку сообщений тем же авторам и категориям, найдите файл link-template.php в папке / wp-includes / и отредактируйте с помощью своего любимого текстового редактора (Notepad ++ для меня). В этом файле вы измените четыре функции. Найдите в файле link-template.php следующие строки:

 function previous_post_link($format='« %link', $link='%title', $in_same_cat = false, $excluded_categories = '') { adjacent_post_link($format, $link, $in_same_cat, $excluded_categories, true); } 

Измените это следующим образом:

 function previous_post_link($format='« %link', $link='%title', $in_same_cat = false, $excluded_categories = '', $is_author = false) { adjacent_post_link($format, $link, $in_same_cat, $excluded_categories, true, $is_author); } 

Ниже предыдущих строк кода вы должны найти следующее:

 function next_post_link($format='%link »', $link='%title', $in_same_cat = false, $excluded_categories = '') { adjacent_post_link($format, $link, $in_same_cat, $excluded_categories, false); } 

Измените это следующим образом:

 function next_post_link($format='%link »', $link='%title', $in_same_cat = false, $excluded_categories = '',$is_author = false) { adjacent_post_link($format, $link, $in_same_cat, $excluded_categories, false, $is_author); } 

Эти изменения малы. Вы должны заметить, что только внесенные изменения заключались в добавлении $ is_author = false к параметрам функции, а $ is_author – к вызову при вызове funny_post_link.

В следующей функции вы добавите еще один параметр и отрегулируете запрос SELECT, который вытягивает в следующем / предыдущем сообщении. Найдите следующую строку, которая должна выглядеть примерно так:

 function get_adjacent_post($in_same_cat = false, $excluded_categories = '', $previous = true) { ... } 

Этот блок довольно длинный, поэтому я только покрываю то, что меняется. В этой строке добавьте тот же параметр, что и раньше ($ is_author = false):

 function get_adjacent_post($in_same_cat = false, $excluded_categories = '', $previous = true, $is_author = false) { ... } 

Затем в этой же функции найдите переменную $ where, как показано ниже (примерно 50 строк в функции).

 $where = apply_filters( "get_{$adjacent}_post_where", $wpdb->prepare("WHERE p.post_date $op %s AND p.post_type = %s AND p.post_status = 'publish' $posts_in_ex_cats_sql", $current_post_date, $post->post_type), $in_same_cat, $excluded_categories ); 

То, что мы хотим сделать дальше, это изменить эту переменную, чтобы сохранить автора только тогда, когда $ is_author истинно. Для этого нужно проверить логическое значение $ is_author и немного добавить в конце переменной $ where.

 $where = apply_filters( "get_{$adjacent}_post_where", $wpdb->prepare("WHERE p.post_date $op %s AND p.post_type = %s AND p.post_status = 'publish' $posts_in_ex_cats_sql", $current_post_date, $post->post_type), $in_same_cat, $excluded_categories ); if($is_author) $where .= " AND p.post_author='".$post->post_author."'"; 

Для окончательного изменения в файле link-template.php найдите следующую функцию:

 function adjacent_post_link($format, $link, $in_same_cat = false, $excluded_categories = '', $previous = true) { if ( $previous && is_attachment() ) $post = & get_post($GLOBALS['post']->post_parent); else $post = get_adjacent_post($in_same_cat, $excluded_categories, $previous); 

Измените эту функцию с помощью $ is_author в функции смежная_поставка_связь и добавив ее в вызов get_adjacent_post:

 function adjacent_post_link($format, $link, $in_same_cat = false, $excluded_categories = '', $previous = true, $is_author = false) { if ( $previous && is_attachment() ) $post = & get_post($GLOBALS['post']->post_parent); else $post = get_adjacent_post($in_same_cat, $excluded_categories, $previous, $is_author); 

Теперь вы готовы использовать эту новую опцию в файлах тем. Чтобы «активировать» функцию сохранения автора, используйте что-то вроде этого в файле single.php:

 <?php previous_post_link( '%link', '' . _x( '&larr;', 'Previous post link', 'twentyten' ) . ' %title','true','','true' ); ?> <?php next_post_link( '%link', '%title ' . _x( '&rarr;', 'Next post link', 'twentyten' ) . '','true','','true' ); ?> 

Установка последнего значения в значение «true» активирует функцию сохранения автора для этой ссылки. Это гарантирует, что ссылка останется в пределах того же автора, а также с той же датой.