我使用循环获得了第一个帖子,但我无法获得第二个帖子。
我希望每一篇文章都有一个不同的分区,但风格与第一篇文章相同。要做到这一点,我可能需要创建更多的循环。我想这样做,这样我就可以使用jquery获得div的幻灯片。
循环的第一部分选择帖子中的第一个图像,第二部分从文本中删除图像,并使用WordPress格式显示文本。
您可以在此处找到一个示例:
http://www.volunteeringnews.com/index2.php
非常感谢您!
<div class="nto">
<div class="natt">
<?php
$attachments = get_children(
array(
\'post_type\' => \'attachment\',
\'post_mime_type\' => \'image\',
\'post_parent\' => $post->ID
));
if(count($attachments) > 0) { ?>
<?php
$attachments = get_children(array(\'post_parent\' => get_the_ID(), \'post_type\' => \'attachment\', \'post_mime_type\' => \'image\', \'orderby\' => \'menu_order\'));
if ( ! is_array($attachments) ) continue;
$count = count($attachments);
$first_attachment = array_shift($attachments);
?>
<?php echo wp_get_attachment_image($first_attachment->ID, \'medium\'); ?>
<?php } else { ?>
<img src="/img/body/facebook_logo.gif">
<?php } ?>
</div>
<!--First post text-->
<div class ="nfh">
<?php
//Show first post only
add_filter(\'the_content\', \'narga_excerpts\');
query_posts(\'showposts=1\');
$ids = array();
while (have_posts()) : the_post();
$ids[] = get_the_ID();
//Add remove filter first image
function remove_first_image ($content) {
$content = preg_replace("/<img[^>]+\\>/i", "", $content, 1);
return $content;}
add_filter(\'the_content\', \'remove_first_image\');
//Get post format
get_template_part( \'content\', get_post_format() );
//Remove remove filter first image
remove_filter( \'the_content\', \'remove_first_image\' );
remove_filter( \'the_content\', \'narga_excerpts\' );
endwhile;
?>
</div>
</div>
SO网友:Charles Clarkson
将此代码用于循环。我删除了您的评论,并添加了一些以供澄清。
<?php
if ( have_posts() ) {
// Do first post.
add_filter( \'the_content\', \'narga_excerpts\' );
add_filter( \'the_content\', \'remove_first_image\' );
the_post();
get_template_part( \'content\', get_post_format() );
// Do remaining posts.
remove_filter( \'the_content\', \'narga_excerpts\' );
remove_filter( \'the_content\', \'remove_first_image\' );
while ( have_posts() ) {
the_post();
get_template_part( \'content\', get_post_format() );
}
}
?>
</div>
</div>
<?php
// Add remove filter first image.
function remove_first_image( $content ) {
return preg_replace( \'/<img[^>]+\\>/i\', \'\', $content, 1 );
}
您没有提供足够的详细信息
<div>
你想用什么来包装帖子,所以我把那部分删掉了。我还删除了循环中的函数定义。将函数放在文件的底部。