有没有办法在没有插件的情况下列出WordPress中某个类别的所有帖子网址? 我不熟悉PHP,但我想的是如何,我可以使用一个页面模板,其中一个方法将调用所有这些类别的帖子url(例如:让我们调用类别"博客")。
答案 0 :(得分:1)
查看WP_Query和WordPress循环。如果我正确理解你的查询(包装在php标签中),这样的事情应该有用:
$the_query = new WP_Query( array( 'category_name' => 'blog' ) );
if ( $the_query->have_posts() ) {
echo '<ul>';
while ( $the_query->have_posts() ) {
$the_query->the_post();
echo '<li>' . get_permalink() . '</li>';
}
echo '</ul>';
/* Restore original Post Data */
wp_reset_postdata();
} else {
// no posts found
}
答案 1 :(得分:1)
您可以使用get_posts
(https://codex.wordpress.org/Template_Tags/get_posts)。
考虑这是一个瘦身版本的WP_Query,它会返回你想要的帖子数组。
$categoryPosts = get_posts(array(
// Note: The category parameter needs to be the ID of the category, and not the category name.
'category' => 1,
// Note: The category_name parameter needs to be a string, in this case, the category name.
'category_name' => 'Category Name',
));
然后你可以遍历帖子:
foreach($categoryPosts as $categoryPost) {
// Your logic
}
默认情况下, $categoryPost
将包含以下内容(如果您有自定义字段,则会显示更多字段),这些字段显然会被填充,但这是您在数组中可用的内容:
WP_Post Object
(
[ID] =>
[post_author] =>
[post_date] =>
[post_date_gmt] =>
[post_content] =>
[post_title] =>
[post_excerpt] =>
[post_status] =>
[comment_status] =>
[ping_status] =>
[post_password] =>
[post_name] =>
[to_ping] =>
[pinged] =>
[post_modified] =>
[post_modified_gmt] =>
[post_content_filtered] =>
[post_parent] =>
[guid] =>
[menu_order] =>
[post_type] =>
[post_mime_type] =>
[comment_count] =>
[filter] =>
)