2017-01-29 4 views
1

Я работаю над своим сайтом. Мне очень нравится тема, которую я использую, но пост-навигация (следующий/предыдущий пост) довольно простой. Он отображает только заголовки блога (без эскизов или выдержки и т. Д.). Вы можете увидеть пример в нижней части этой страницы:WordPress Navigation PHP Code

http://www.telly.media/technology/test-post-seven/

Соответствующий бит кода, кажется, в single.php файле:

<?php the_post_navigation(); ?> 

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

http://www.telly.media

Спасибо!

+0

вы хотите изменить навигации стиль ? –

+0

Привет Нахид. Я хочу, чтобы ссылки Next/Previous Post отображались в блоках (например, сообщения в блогах отображаются на главной странице). Благодарю. – SkyNetworks

ответ

0

Вы можете достичь желаемой функциональности, но не только с помощью функции <?php the_post_navigation(); ?>.

Функция <?php the_post_navigation(); ?> отображает навигационные ссылки на следующий/предыдущий пост. Вот почему вы видите только синие ссылки на эти сообщения без какой-либо информации, такой как выдержка или миниатюра.

С другой стороны, коробки на вашей домашней странице, вероятно, созданы в рамках цикла Wordpress. Это означает, что Wordpress циклически перемещается по всем доступным сообщениям, и для каждого из них отображается поле с выдержкой и эскизом.

Для достижения функциональности вы хотите, вам нужно будет программно извлечь корочки предыдущей и следующей записи, используя get_adjacent_post() функцию:

<?php 
    $prev_post = get_adjacent_post(true, '', true, 'your_taxonomy_slug'); 
    if (is_a($prev_post, 'WP_Post')){ 
     $prev_post_id = $prev_post->ID; 
    } 

    $next_post = get_adjacent_post(true, '', false, 'your_taxonomy_slug'); 
    if (is_a($next_post, 'WP_Post')){ 
     $next_post_id = $next_post->ID; 
    } 
?> 

Затем вам нужно будет использовать <?php $prev_post_obj = get_post($prev_post_id); ?> и <?php $next_post_obj = get_post($next_post_id); ?> объекты чтобы получить доступ к полям этого сообщения, таким как выдержка, название, постоянная ссылка или миниатюра .etc. Полный список полей, к которым вы можете получить доступ, см. в этом комментарии link.

+0

Спасибо, помощник. Выглядит сложным, но даст ему шанс. Благодаря! – SkyNetworks

0

Вы можете решить эту проблему во многом, но вам нужно написать некоторый стиль css или использовать существующий класс, который уже используется на странице вашего блога. используйте этот пример вместо функции the_post_navigation(). пример 1:

<div class="navigation"> 
    <p> 
     <?php posts_nav_link('&#8734;','&laquo;&laquo;','&raquo;&raquo;'); ?> 
    </p> 
</div> 

Пример 2:

<div class="navigation"> 
    <div class="alignleft"> 
     <?php previous_post_link('&laquo; &laquo; %','Toward The Past: ', 'yes');?> 
    </div> 
    <div class="alignright"> 
     <?php next_post_link('% &raquo; &raquo; ','Toward The Future: ', 'yes'); ?> 
    </div> 
</div> 

или проверить эту ссылку для получения более подробной информации https://codex.wordpress.org/Next_and_Previous_Links

я надеюсь, что это будет решить вашу проблему