Wie man seinen Meta-Wert eines bestimmten Meta-Schlüssel innerhalb von wp_usermeta bekommt

Mit dem S2Member Plugin wird automatisch eine Meta_Schlüssel für die Last-Payment-Zeit in WordPress DB unter der Tabelle wp_usermeta gespeichert (das benutzerdefinierte Feld heißt wp_meds2member_last_payment_time).

Von wp_usermeta hat die Spalte mit dem Namen meta_key den Wert ‘wp_meds2member_last_payment_time’. Aber der Inhalt, den ich sammeln möchte, ist sein Metawert-Äquivalent. Der Metawert

Ich habe nicht gefunden, wie man diesen meta_value zu der unten stehenden function aufruft, wo ich das Datum der letzten Zahlungszeit verwende, um eine neue Zählung der vom Benutzer erstellten Posts zu beginnen.

function check_post_limit(){ if(current_user_can('edit_posts')) { global $userdata; global $post_type; global $wpdb; $postintervall = date('Ymd 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; } } 

Irgendwelche Vorschläge? Vielen Dank

Solutions Collecting From Web of "Wie man seinen Meta-Wert eines bestimmten Meta-Schlüssel innerhalb von wp_usermeta bekommt"

@ Cristián Lávaque Danke für die Hinweise;)

Tatsächlich konnte ich das Problem lösen, indem ich diese function blockiere (zeige den versteckten Kommentar oben). Falls dies hier jemandem helfen könnte, ist der letzte Arbeitscode:

 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( 'Ymd 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; } } 

@Amine, der Name des Meta-Feldes ist nur s2member_last_payment_time , also probiere es ohne das wp_med Präfix und s2member_last_payment_time , ob das funktioniert.

 $2member_last_payment_time = get_user_meta(get_current_user_id(), 's2member_last_payment_time', true); 

Sie können auch die s2Member-function get_user_field : http://www.s2member.com/codex/stable/s2member/api_functions/package-functions/#src_doc_get_user_field%28%29

 $s2member_last_payment_time = get_user_field ('s2member_last_payment_time'); 

Wenn tatsächlich keine Zahlung erfolgt ist, wird keine Zahlungszeit erfasst, aber wenn es eine gibt, wird es einen Zeitstempel geben.

Ich hoffe das hilft. 🙂