如何在Wordpress的单个页面中显示特定帖子?

时间:2019-01-20 20:11:47

标签: php wordpress posts

我想知道当我单击从特定页面到(例如:图库页面)的链接时是否可以显示特定帖子。

示例:假设我有3个帖子,其中包含3个不同的画廊。 (帖子1 =婚礼图片/帖子2 =食物图片/帖子3 =狗图片),我也有3页。

当我进入第1页并单击图库页面链接时,我只想显示帖子1的内容(仅婚礼图片)。当我进入第2页并单击图库页面链接时,我只想显示帖子2的内容。

如果有可能,最简单的解决方案是什么?

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以先为每张照片(或包含照片的帖子)分配一个类别,例如婚礼,美食等 完成后,创建一个自定义菜单并向其中添加类别。将此菜单放在页面的某个区域上,然后尝试一下。它应该只显示所需的图像/帖子。

有关更多信息,请查看下面的链接: https://en.support.wordpress.com/category-pages/

注意:您可能需要一个插件,以允许您在图像上放置类别。请看下面的链接中的示例: https://wordpress.org/plugins/categories-images/

答案 1 :(得分:1)

要显示基于类型,类别,标签或任何其他属性的特定帖子,最好的选择是使用简码,这样可以使您在呈现项目时(在帖子,页面,小部件,模板中)具有多种用途文件等)。

简码可以由Bill Erickson's Display PostsContent Views之类的插件或其他10个插件生成。

或者通过构建自己的“显示一些帖子”短代码来手动完成操作,并更好地了解WP。您将必须构建自己的html输出,过滤器和页面调度,但是最终会产生更少的插件,使安装过程更加混乱。有很多关于此的教程,搜索“ Wordpress display posts shortcode functions.php”。

例如将以下内容放在您主题的(最好是子主题)functions.php文件中,这是一种显示特定内容类型中特定数量帖子的方法:

放置在functions.php中:

function show_some_posts($atts) {

  $a = shortcode_atts([
    'post_type' => 'post',
    'posts_per_page' => 3
  ], $atts);

    $the_query = new WP_Query( $a );

    if ( $the_query->have_posts() ) {

        $string .= '<ul>';

        while ( $the_query->have_posts() ) {
            $the_query->the_post();

            $string .= '<li><a href="' . get_permalink() . '">' . get_the_title() . '</a></li>';


        }

        wp_reset_postdata();
        $string .= '</ul>';

    } else {
        $string .= 'no posts found';
    }

    return $string;
}

function shortcodes_init()
{
  add_shortcode('get-posts','get_some_posts');
}

add_action('init', 'shortcodes_init');

要渲染实际列表,请将此短代码放置在您的页面或帖子中:

[get-posts posts_per_page="3"]