我正在创建一个带有3.9.1 wordpress版本的Lyrics website,我想为每个专辑创建一个帖子及其带有内部链接的歌曲。
现在正在做的是创建一个专辑和歌曲页面的帖子。但如果我这样做,我就无法为SEO的页面(歌曲)提供标签。
所以我想制作一些带帖子的歌曲,以便我可以为他们添加标签,但我不希望在我的主页上列出歌曲,除非访问者点击专辑中的链接。
我该如何解决这个问题?
答案 0 :(得分:1)
如果您想通过以下方式添加页面标记:
add_action( 'init', 'tags_for_pages' );
function tags_for_pages() {
register_taxonomy_for_object_type( 'post_tag', 'page' );
}
但如果你想用帖子做所有事情,我认为你应该:
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(); ?>
这只适用于使用类别!!