将以前的帖子数量与新帖子进行比较

时间:2014-12-03 09:36:45

标签: php wordpress

我想比较两个值,即之前的帖子数量(包括postscpt,当检测到帖子数量增加时,应该在{{1}上设置div元素}。

我想出了以下代码:

display: block

上面的代码现在将打印在echo之上。因此,它会返回在代码顶部确定的$args = array( 'public' => true, '_builtin' => false ); $post_types = array( 'post', 'roosters', 'downloads', 'reglements', 'alv' ); foreach ( $post_types as $post_type ) { echo '<strong>' . $post_type . '</strong>'; $postCountTotal = wp_count_posts($post_type)->publish; echo 'Total Posts: ' . $postCountTotal; echo '<br>'; if ( $postCountTotal > $previous ) { echo 'New post detected'; } $previous = 0; } 列表,并在其后面添加post types的帖子总数。

我想我应该比较上面的数值。 首先,您应该保存以前的帖子数量或重置增加者。然后将该值与新值进行比较。正如您所看到的,我创建了一个条件 - if语句 - 将之前的值与新值进行比较。只有现在,对于每个post type,如果没有检测到新帖子,它将返回“检测到新帖子”的回音。

简而言之,将之前的值与新值进行比较。如果检测到金额增加,请将div元素post type设置为两天,例如。

我注意你的回应!

1 个答案:

答案 0 :(得分:0)

您需要使用数据库才能比较一次运行到另一次运行的脚本的值,请检查行注释

$args = array(
    'public'   => true,
    '_builtin' => false
);

$post_types = array( 'post', 'roosters', 'downloads', 'reglements', 'alv' );

foreach ( $post_types as $post_type ) {

    echo '<strong>' . $post_type . '</strong>';

    $postCountTotal = wp_count_posts($post_type)->publish;
    echo 'Total Posts: ' . $postCountTotal;
    echo '<br>';

    //first we read the previous post count value from the databse so we can compare the old value with the new one EDIT: use 0 as the default value if no data in database -first run
    $previous = get_option( 'postContTotal', 0 );
    if ( $postCountTotal > $previous ) {
        echo 'New post detected';
        //if the number of posts increased then save this new value for future compares
        update_option( 'postContTotal', $postCountTotal );
    } 
}

关于WordPress Options api的额外信息。