как получить следующий / предыдущий пост hrefs и заголовки в wordpress

Речь идет о представлении одного сообщения. Я пытаюсь установить ссылки на предыдущие и следующие блог-почты следующим образом:

<a class="prevpost" href="linktoprevpost" title="prev post's title">&nbsp;</a> <a class="nextpost" href="linktonextpost" title="next post's title">&nbsp;</a> 

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

  1. a-tag с href предыдущего / следующего сообщения
  2. который находится в той же категории, что и в настоящее время
  3. без внутреннего текста из-за фонового изображения
  4. с предыдущим / последующим именем в атрибуте title
  5. с пользовательским css-классом

Соответствие категорий должно быть только первым уровнем, потому что я разделил свою страницу на 3 основные категории. я использую

 $a = get_the_category(get_the_ID()); $cat = $a[0]->name; 

для получения имени первой категории и установки его как дополнительного body-класса в header.php. Может быть, я смогу повторить это?

Я также узнал, что с использованием предыдущих_post_link () и next_post_link ()

 next_post_link('%link', '', TRUE); 

дает мне должности той же категории без внутреннего контента, поэтому 1 & 2 и 3 будут решены. Но, похоже, чтобы получить 4 и 5 тоже, мне понадобится другой путь.

Использование WordPress версии 3.4.1.

Нет необходимости в функциях и фильтрах, все, что вам нужно сделать, это использовать get_adjacent_post вместо next_post_link и prev_post_link Обратите внимание, что get_adjacent_post используется для получения предыдущего и следующего сообщений, вы можете прочитать об этом здесь. Чтобы получить предыдущую запись и атрибут title, используйте это

 $prev_post = get_adjacent_post(false, '', true); if(!empty($prev_post)) { echo '<a href="' . get_permalink($prev_post->ID) . '" title="' . $prev_post->post_title . '">' . $prev_post->post_title . '</a>'; } 

Для получения следующего сообщения и его атрибута title используйте это

 $next_post = get_adjacent_post(false, '', false); if(!empty($next_post)) { echo '<a href="' . get_permalink($next_post->ID) . '" title="' . $next_post->post_title . '">' . $next_post->post_title . '</a>'; } 

Понял.

Теперь это мой код:

 $p = get_adjacent_post(1, '', 1); if(!empty($p)) echo '<a class="prevpost" href="'.$p->guid.'" title="'.$p->post_title.'">&nbsp</a>'; $n = get_adjacent_post(1, '', 0); if(!empty($n)) echo '<a class="nextpost" href="'.$n->guid.'" title="'.$n->post_title.'">&nbsp</a>'; 

Функция возвращает объект предыдущей / следующей записи, которую я могу использовать для создания моих ссылок. Первый параметр предназначен для ограничения сообщения на том же коте.
Несколько раз я искал в WordPress Codex несколько раз, но не сталкивался с этой функцией, теперь случайно наткнулся на нее.

Если у кого-то есть лучший / более простой / быстрый способ, пожалуйста, отправьте сообщение, чтобы получить принятый ответ.

 <? echo '<a href="'.get_permalink( get_the_ID()-1 ).'" title="'.get_the_title( get_the_ID()-1 ).'">Previous</a>'; echo '<a href="'.get_permalink( get_the_ID()+1 ).'" title="'.get_the_title( get_the_ID()-1 ).'">Next</a>'; ?>