我目前正在为我的DJ朋友制作一个网站,他将他的混音上传到Soundcloud分享,他也将使用他的网站发布他的混音(通过Soundcloud)并发布活动。
要处理事件方面,而不是使用自定义帖子类型,我只是将自己的元字段添加到标准帖子屏幕,并设置帖子以显示事件信息(如果已设置),并显示通常如果没有这些帖子。 Full code,相关部分:
global $wp_query;
$postid = $wp_query->post->ID;
$event_venue = get_post_meta($postid, 'event_venue', true);
除此之外,为了处理他的混音,我设置了一个自定义的帖子类型(通常是为了让他更容易区分,因为他在混音器和转盘之外不是非常技术)和自定义元字段允许他可以添加混音的位置(场地方式)和混音的混音(用于自动将混音嵌入帖子中,而不是使用插件)。我创建了一个自定义循环和single-mixes.php
页面来处理数据的显示,这实际上是原始循环(重命名为loop-mixes.php
所以我知道它是什么)但包含一个文件mix_data.php
。 Full code,相关部分:
global $wp_query;
$postid = $wp_query->post->ID;
$mix_venue = get_post_meta($postid, 'mix_venue', true);
现在,我的问题。我想在单个帖子页面中将$mix_venue
中保存的数据与$event_venue
设置的每个其他帖子进行比较,并显示匹配的帖子(即如果用户是观看混音后,他们就可以看到在录制场地中举行的任何即将举行的活动(事实上,任何过去的活动)。
但,我正在教自己WordPress,我真的不完全确定从哪开始。
答案 0 :(得分:0)
我看到你解决了它,但我会建议一种可重复使用的方法。
在您的主题functions.php
中放置此功能(get_posts()
为function print_event_venues( $mix_venue )
{
$args = array(
'numberposts' => -1,
'post_type' => 'post',
'post_status' => 'publish',
'meta_key' => 'event_venue',
'meta_value' => $mix_venue
);
$posts = get_posts( $args );
// DO NOTHING
if( !$posts )
return;
foreach( $posts as $post )
{
// DO YOUR HTML
echo $post->post_title;
}
}
):
print_event_venues( $the_mix_venue );
然后,在任何模板中,只需调用它:{{1}}。
有用信息:full arguments list。