我在尝试创建一些新功能时遇到了困难。基本上,我有一个自定义页面设置,它显示一个带有特定标记的所有帖子的列表。它需要做的是在帖子名称旁边显示与该帖子相关的每个附件。我可以在实际的贴子页面上实现这一点,但由于这是一个自定义页面,它不想显示附件url。
以下是我目前掌握的情况:
$args = array
(
\'post_type\' => \'attachment\',
\'post_mime_type\' => \'audio\',
\'numberposts\' => -1,
);
query_posts(\'portfolio-tags=apple&post_type=portfolio&posts_per_page=-1&orderby=title&order=asc\'); // query to show all posts independant from what is in the center;
if (have_posts()) :
echo \'<ul>\';
while (have_posts()) : the_post(); ?>
<li>
<span><?php echo the_title();?></span>
<span><a href="<?php echo get_attachment_url($attachment->ID);?>" target="_blank">Demo</a></td>
</li>
<?php endwhile;
echo \'</ul>\';
endif;
wp_reset_query();
任何帮助都将不胜感激。我已经在这个问题上纠结了一段时间,希望我忽略了一个非常简单的解决方案。
SO网友:Eugene Manuilov
首先不要使用query_posts
函数,使用WP_Query 而不是类。
其次,您忘记获取帖子的附件。您可以通过调用get_children
作用
$args = array (
\'post_type\' => \'attachment\',
\'post_mime_type\' => \'audio\',
\'numberposts\' => -1,
);
$the_query = new WP_Query( \'portfolio-tags=apple&post_type=portfolio&posts_per_page=-1&orderby=title&order=asc\' );
if ( $the_query->have_posts() ) :
echo \'<ul>\';
while ( $the_query->have_posts() ) :
$the_query->the_post();
$images =& get_children( \'post_type=attachment&post_mime_type=image\' ); ?>
<li>
<span><?php echo the_title();?></span>
<?php foreach ( $images as $attachment_id => $attachment ) : ?>
<span><a href="<?php echo get_attachment_url( $attachment_id );?>" target="_blank">Demo</a></td>
<?php endforeach; ?>
</li>
<?php endwhile;
echo \'</ul>\';
endif;
wp_reset_postdata();