WordPress как на ладони
wordpress jino

Как получить список урлов всех постов?

Здравствуйте! Суть вопроса в его заголовке. В связи со сменой движка (с WP на DLE) меняются абсолютно все урлы. Урлы категорий сохранятся, а вот для постов придётся делать массовый 301-редирект, причём, как я понимаю, делать его придётся вручную. Для этого нужно иметь список просто чистых урлов всех постов в хронологическом порядке, но без заголовков, автора, дат и прочей информации.
Подскажите, пожалуйста, как это можно сделать.
С уважением, Александр.

0
Гость 1.3 года назад
  • 1
    campusboy1848 cайт: wp-plus.ru

    Привет!

    <?php
    global $post;
    $args = array( 'posts_per_page' => -1 );
    $myposts = get_posts( $args );
    foreach( $myposts as $post ){ setup_postdata($post);
    	?>
      <p><?php the_permalink(); ?></p>
    	<?php
    }
    wp_reset_postdata();
    ?>
    Александр 1.3 года назад

    Спасибо большое! Подскажите только как запустить этот скрипт? В какой конкретный файл нужно его поместить и в каком месте (если это имеет значение)?

    campusboy 1.3 года назад

    Вставьте в файл functions.php

    function get_all_links_posts (){
     global $post;
     $args = array( 'posts_per_page' => -1 );
     $myposts = get_posts( $args );
     $all_link = '';
     foreach( $myposts as $post ){
    	setup_postdata($post);
    	$all_link .= get_the_permalink().'<br>'; 
     }
     wp_reset_postdata();
     return $all_link;
    }
    
    add_shortcode('all-links-posts', 'get_all_links_posts');

    Использование:
    Просто вставляете в любую запись шорткод [all-links-posts] и получаете результат.

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Регистрация. Вход.