使用S2member插件,上次付款时间的meta\\u键自动存储在WordPress DB中wp\\u usermeta表下(自定义字段称为wp\\u medsmember\\u last\\u payment\\u time)。
在wp\\u usermeta中,名为meta\\u key的列的值为“wp\\u medsmember\\u last\\u payment\\u time”。但我试图收集的内容是它的meta\\u值等价物。
我没有找到如何将这个meta\\u值调用到下面的函数中,在这里我使用上次付款时间的日期开始对用户创建的帖子进行新计数。
function check_post_limit(){
if(current_user_can(\'edit_posts\')) {
global $userdata;
global $post_type;
global $wpdb;
$postintervall = date(\'Y-m-d H:i:s\', $s2member_last_payment_time );
$item_count = $wpdb->get_var( "SELECT count(*) FROM $wpdb->posts WHERE post_status = \'publish\' AND post_author = $userdata->ID AND post_date > \'$postintervall\'" );
if(( $item_count >= 2 ) && (current_user_is("s2member_level1")) )
{ wp_die( \'Do not create too much posts.\',\'check-limit\' ); }
return; }
}
有什么建议吗?谢谢
最合适的回答,由SO网友:Amine Richer 整理而成
@克里斯蒂安·拉瓦克谢谢你的提示;)
实际上,我成功地解决了阻止此函数的问题(显示上面隐藏的注释)。如果这对任何人都有帮助,以下是最终工作代码:
function check_post_limit() {
if ( current_user_can( \'edit_posts\' ) ) {
global $userdata;
global $wpdb;
$s2member_last_payment_time = get_user_meta( get_current_user_id(),
\'wp_s2member_last_payment_time\', true );
$postintervall = date( \'Y-m-d H:i:s\', $s2member_last_payment_time );
$item_count = $wpdb->get_var( "SELECT count(*) FROM $wpdb->posts
WHERE post_status = \'publish\' AND post_author = $userdata->ID
AND post_date > \'$postintervall\'" );
if ( ( $item_count >= 2 ) && ( current_user_is( "s2member_level1" ) ) ) {
wp_die( \'Do not create too much posts.\', \'check-limit\' );
}
return;
}
}