0

我有这段代码可以从 wordpress 中获取一些元素

global $post;

$i=0;

$args = array( 'numberposts' => 5, 'category' =>5,'order'=>'DESC','orderby'=>'post_date','suppress_filters' => 0 );

$myposts = get_posts( $args );
$has_posts = true;

foreach( $myposts as $post ) :  setup_postdata($post); ?>


<?php $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'single-post-thumbnail' ); ?>

<li>

<?php if($image){ ?>


<div class="news_left"><a href="<?php the_permalink(); ?>"><img src="<?php echo $image[0]; ?>" alt="" width="191" height="132" /></a></div>

<?php } ?>

<?php
    $content = apply_filters('the_content', get_the_content());
    $content = explode("</p>", $content);
?>

<div class="news_right">

    <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>

    <span class="date">Date: <?php the_time('j/m/Y') ?></span>

    <?php echo $content[1] . "</p>";//echo String::content_limit(200,'<p>'); ?>

    <a href="<?php the_permalink(); ?>">Read More</a>

</div> 

<div class="clear"></div>   

</li>

<?php $i++; endforeach; ?>

如果类别为空,我需要设置返回短信的条件。就像没有帖子可显示,请注意帖子使用 WPML 作为语言切换器

4

2 回答 2

2
<?php
$myposts = get_posts( $args );
if($myposts){
    //found posts
}else{
    //no posts
}
?>

更新:请检查代码是否可行,然后将其与您的代码进行比较,我已经评论了我所做的更改,因此您有机会学习:

$i=0;

$args = array( 'numberposts' => 5, 'category' =>5,'order'=>'DESC','orderby'=>'post_date','suppress_filters' => 0 );

$myposts = get_posts( $args );

//check if $myposts
if(!$myposts){
    //the $myposts has no posts, print the error message
    echo "<li>";
    echo "This category has zero posts";
    echo "</li>";
}else{
    //the category has one more or more posts
    $has_posts = true;
    foreach( $myposts as $post ) :  setup_postdata($post); ?>


    <?php $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'single-post-thumbnail' ); ?>

    <li>

    <?php if($image){ ?>


    <div class="news_left"><a href="<?php the_permalink(); ?>"><img src="<?php echo $image[0]; ?>" alt="" width="191" height="132" /></a></div>

    <?php } ?>

    <?php
        $content = apply_filters('the_content', get_the_content());
        $content = explode("</p>", $content);
    ?>

    <div class="news_right">

        <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>

        <span class="date">Date: <?php the_time('j/m/Y') ?></span>

        <?php echo $content[1] . "</p>";//echo String::content_limit(200,'<p>'); ?>

        <a href="<?php the_permalink(); ?>">Read More</a>

    </div> 

    <div class="clear"></div>   

    </li>

<?php
    $i++; endforeach; 
}
?>
于 2012-11-11T14:46:55.863 回答
1

太感谢了!!这解决了我的问题.. 参考:howlingwolfmedia.com/site3/classes/class-categories

见“个性化培训”

我的代码在这里:`

<?php 
    $args=array(
      'child_of' => 4,
      'orderby' => 'name',
      'order' => 'ASC',
      'hide_empty' => '0'
      );
    $categories=get_categories($args);
      foreach($categories as $category) {
        echo '<h3>' . $category->name . '</h3>
        <div>';
            global $post;
            $args = array( 'posts_per_page' => -1, 'category' => $category->term_id, 'orderby' => 'name', 'order' => 'ASC' );
            //alternatively this also works:  'nopaging' => true
            $myposts = get_posts( $args );

            if (!$myposts) {
                echo 'Sorry there are currently no classes in this category';
                }
            else {
            foreach( $myposts as $post ) :  setup_postdata($post);
            echo  '<p><a href="' . get_permalink($post->ID) . ' " style="color:#7c7c7c; font-size: 1em; text-decoration:none !important; line-height:80%;">' . get_the_title($post->ID) . '</a></p>';
            endforeach;
            }
        echo  '</div>
       ';
    }
?>

`

于 2013-09-17T14:28:36.823 回答