如何根据WordPress的最佳实践访问和显示没有文本内容的帖子中的图像(反之亦然)

时间:2011-09-21 作者:Devise

希望创建一个定制的单曲。php用于我的帖子。在一列中,我想显示通过添加媒体功能(插入到帖子中)添加的所有图像。在下一列中,显示与帖子相关的所有其他内容(图像除外)。

我需要的是这样做的正确/最佳实践方法。我才刚刚开始解读php,但我想从一开始就把事情做好。

那么,如何查看帖子,只拉一列中显示的附件图像,只拉另一列中的文本内容(带标记)?

此外,我什么时候会考虑将其创建为函数的函数。php而不是驻留在single中的进程。php或任何其他模板文件?

以下是我目前掌握的情况:

<div class="content">
<?php if(have_posts()) : while(have_posts()) : the_post(); ?>
<div class="images">
    <?php
    $args = array( \'post_type\' => \'attachment\', \'numberposts\' => -1, \'post_status\' => null, \'post_parent\' => $post->ID ); 
    $attachments = get_posts($args);
    if ($attachments) {
        foreach ( $attachments as $attachment ) {
            the_attachment_link( $attachment->ID , false );
        }
    }
    ?>
</div>
<div class="specs">
    <h2><?php single_post_title(); ?></h2>
    <?php the_content(); ?>
</div>
<?php endwhile; ?>
<?php else : ?>
<p><?php _e(\'Sorry, no posts matched your criteria\'); ?></p>
<?php endif; ?>

2 个回复
最合适的回答,由SO网友:Devise 整理而成
<div class="content">
<?php if(have_posts()) : while(have_posts()) : the_post(); ?>
<div class="images">
    <?php
    $args = array( \'post_type\' => \'attachment\', \'numberposts\' => -1, \'post_status\' => null, \'post_parent\' => $post->ID ); 
    $attachments = get_posts($args);
    if ($attachments) {
        foreach ( $attachments as $attachment ) {
            the_attachment_link( $attachment->ID , false );
        }
    }
    ?>
</div>
<div class="specs">
    <h2><?php single_post_title(); ?></h2>
    <?php the_content(); ?>
</div>
<?php endwhile; ?>
<?php else : ?>
<p><?php _e(\'Sorry, no posts matched your criteria\'); ?></p>
<?php endif; ?>
SO网友:Wyck

这确实是一个CSS/HTML问题,因为WordPress无法控制您的布局/样式。

基本上,您可以使用一个循环并将数据抛到任何需要的地方。

例如,您可以将各个函数包装在它们自己的标记中

//loop start

<div class="left"><?php the_title(); ?></div>  //float this title left
<div class="right"><?php the_content(); ?></div>  //float this content right
<div class="somewhere"><?php some_other_function(); ?></div> //position this where ever
<div class="image-box"><?php echo wp_get_attachment_image(); ?></div> 
//position a css box for images

//loop end

结束