如何从Wordpress主页隐藏一些帖子?

时间:2014-05-17 21:14:28

标签: wordpress post

我正在创建一个带有3.9.1 wordpress版本的Lyrics website,我想为每个专辑创建一个帖子及其带有内部链接的歌曲。

现在正在做的是创建一个专辑和歌曲页面的帖子。但如果我这样做,我就无法为SEO的页面(歌曲)提供标签。

所以我想制作一些带帖子的歌曲,以便我可以为他们添加标签,但我不希望在我的主页上列出歌曲,除非访问者点击专辑中的链接。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

标记页面

如果您想通过以下方式添加页面标记:

add_action( 'init', 'tags_for_pages' );

function tags_for_pages() {
    register_taxonomy_for_object_type( 'post_tag', 'page' );
}

Just Posts

但如果你想用帖子做所有事情,我认为你应该:

1)创建2个类别:专辑和歌曲
2)创建相册帖子并将相册类别添加到其中
3)创建歌曲帖子并为其添加歌曲类别
4)将此代码添加到functions.php

add_action( 'pre_get_posts', 'modify_home_query' );

function modify_home_query( $query ) {
    if ( !is_admin() && $query->is_home() && $query->is_main_query() ) {
        $query->set( 'category_name', 'albums' );
    }
}

并且在您的主页上只会显示包含相册类别的帖子,您必须将相关链接粘贴到相册帖子的内容中,就像它是一个页面一样。


最佳选择

但我认为你应该搜索自定义帖子类型,以及如何创建它。 您可以创建自定义帖子类型 相册和自定义帖子类型歌曲,并使用Advanced Custom Fields等插件链接它们,{{3 }和/或Posts 2 Posts

帖子类型生成器:CPT-Onomies

答案 1 :(得分:0)

您可以使主页查询仅查找相册。 为此,您需要设置帖子类别"相册"或者"歌曲"。

然后,您需要找到您的主题主页php文件,如index.php,并查找您当前的查询。它看起来像这样:

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
//some code
<?php endwhile; else: ?>
<p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
<?php endif; ?>

然后在

之前添加
<?php query_posts('cat_name=album'); ?>

以及之后的

<?php wp_reset_postdata(); ?>

这只适用于使用类别!!