最新-未过期-帖子的快捷代码

时间:2014-01-16 作者:Davel

我制作了一段短代码(插件的一部分)来显示未过期的帖子。为了保存到期日期,我已经制作了一个名为newsbox date的元键。

适用于微新闻、短消息和holliday公告。我的客户不会将这些帖子用于写博客,而是一年中会有几次将其用于发短信。使用快捷码,我们可以将新闻框粘贴到主页和联系人页面上。(如上所述:方便度假)

到目前为止,我有:

function my_recent_posts_shortcode( $atts ) {
extract( shortcode_atts( array( \'limit\' => 5 ), $atts ) );
$q = new WP_Query( \'posts_per_page=\' . $limit );
$list = \'<div class="newsbox-posts">\';
while ( $q->have_posts() ) {
    $q->the_post();
    $expdate = get_post_meta(get_the_ID(), \'newsbox-date\', true);
    $nowdatetime = current_time("mysql");
    if ($expdate >= $nowdatetime) {
    $list .= \'<h4>\' . get_the_title() . \'</h4>\' . get_the_content() . \'\';
    }
}
wp_reset_query();
return $list . \'</div>\';
}
add_shortcode( \'recent-posts\', \'my_recent_posts_shortcode\' );
有几件事我需要处理:

我可以在WP\\U查询中过滤过期日期吗?现在所有的帖子都是先申请的,对吗

1 个回复
SO网友:Davel

谢谢,我现在拿到了;确实是meta\\u查询。

function my_recent_posts_shortcode( $atts ) {
global $post;
$currenttime = current_time("mysql");

$args = array(
\'post_type\' => \'post\',
\'meta_query\' => array(
    array(
        \'key\' => \'newsbox-date\',
        \'value\' => $currenttime,
        \'compare\' => \'>\'
    )
)
);

$newsbox = new WP_Query( $args );

if ( $newsbox->have_posts() ) :
$list = \'<div class="newsbox-posts">\';
while ( $newsbox->have_posts() ) : $newsbox->the_post();
$list .= \'<h4>\' . get_the_title() . \'</h4>\' . get_the_content() . \'\';
endwhile;
$list .= \'</div>\';
endif;

wp_reset_query();
return $list;

 }
add_shortcode( \'recent-posts\', \'my_recent_posts_shortcode\' );

结束

相关推荐

UPDATE_POST_META在操作挂接中不起作用

我在用数据库中的数据更新自定义字段(在自定义帖子类型中)时遇到了一个真正的问题。数据库中有一个表名为wp_company_profiles 带有地址字段(即address\\u 1、address\\u 2)。我在admin post区域中为每个字段设置了具有相同值的自定义字段。我正试图创建一个钩子,从数据库中检索数据以更新自定义字段。下面是代码,但我不知道它缺少什么。function get_fields_company_profile($post_id) { global