I am trying to get the page to list all my posts (post type = post) in archive.

I can do this with custom post types, with get_post_type_archive_link(), but using get_post_type_archive_link('post') to get the page url of all posts doesn’t work the same way.

Also using get_permalink() or get_permalink( get_option( 'page_for_posts' ) ) returns only the link of one post.

Example:

I would like to get a link like www.example.com/posts/ or other, in a similar way as the custom post type, when using get_post_type_archive_link('news'), retrieves www.example.com/news/.

Can I get a list of posts other than in the home page? Is this possible?

Thanks for the help!

1 Answer
1

I use a shortcode:

function shortcode_article_list() {
  $posts_array = get_posts( array('posts_per_page' => -1, 'orderby' => 'date', 'order' => 'DESC', 'post_type' => 'post', 'post_status' => 'publish') );
  $output="<ul>";
  foreach ($posts_array as $post) {
    $a = explode(' ', $post->post_date);
    $output .= '<li><a href="' . home_url("https://wordpress.stackexchange.com/") . $post->post_name . '.html">' . $post->post_title . '</a> (' . $a[0] . ')</li>';
  }
  $output .= '</ul>';
  return $output;
}
add_shortcode('article_list', 'shortcode_article_list');

Perhaps there’s something you can use from it.

Leave a Reply

Your email address will not be published. Required fields are marked *