Überprüfen des Benutzerabonnementtyps in Memberpress

Lesezeit: 2 Minuten

Benutzeravatar von Grant Hendricks
Grant Hendricks

Ich habe eine Weile gesucht und konnte nirgends eine Antwort auf meine Frage finden. Ich erstelle ein Mitgliederverzeichnis für eine Website eines Kulturrats und verwende das WordPress-Plugin Memberpress, um eine jährliche Abonnementgebühr zu verwalten. Ich versuche, die Benutzerinformationen auf einer einfachen Verzeichnisseite auszudrucken – derzeit gebe ich nur die Benutzerwerte in PHP wie folgt wieder:

    <?php
    $user_query = new WP_User_Query( array( 'role' => 'Subscriber' ) );
    // User Loop
    if ( ! empty( $user_query->results ) ) {
    foreach ( $user_query->results as $user ) {
      echo '<p>' . $user->display_name . '</p>';
      echo '<p>' . $user->user_email . '</p>';
      echo '<p>' . $user->user_url . '</p>';
      echo '<p>' . $user->description . '</p>';
      echo '<p>' . $user->subscription . '</p>';
      echo '<p>' . $user->memberpress_authorized . '</p>';
      $type = $user->mepr_artist_type;
      for($i=0; $i<=sizeof($type); $i+=1) {
      echo '<p>' . $type[$i] . '</p>';
       }
      }
     } else {
      echo 'No users found.';

  }

   ?>

Das funktioniert alles einwandfrei und dient im Moment nur zum Testen, aber ich versuche herauszufinden, wie ich überprüfen kann, ob der Benutzer ein aktives Abonnement hat. Diese Eigenschaft ist nicht in der WP_User_Query-Datenbank gespeichert und ich weiß nicht, wie ich anderswo danach suchen kann.

Ich habe den Code im Memberpress-Plugin auf Hinweise überprüft und versucht, die Datenbank WP_mepr_members zu verwenden, die anscheinend einen Wert für den Mitgliedsnamen speichert, aber bisher war ich erfolglos. Die Memberpress-Dokumentation war nicht hilfreich, obwohl ich diese Funktion gefunden habe:

<?php if(current_user_can('mepr_auth')) {
  // acf content output here
}

Es ist jedoch für das, was ich versuche, nicht sinnvoll formatiert, da es nur die Berechtigung für den aktuellen Benutzer prüft, nicht für alle Benutzer. Weiß jemand, wie man das beheben kann?

Danke.

Hier ist es etwas spät, aber Sie können auf die MeprUser-Klasse zugreifen. Hier ist eine Beispielfunktion, um den Namen des Abonnementtitels des Benutzers abzurufen und ihn im Admin-Bereich anzuzeigen.

function display_user_sub() {
 $user_ID = get_current_user_id(); // get the user ID
 $member = new MeprUser(); // initiate the class
 $member->ID = $user->ID; // if using this in admin area, you'll need this to make user id the member id
 $result = $member->get_active_subscription_titles("<br/>"); //MeprUser function that gets subscription title
echo $result // displays sub title, example 'Gold Membership'
}

Sie können das Plugin für MeprUser nach weiteren Methoden und Eigenschaften durchsuchen, die Sie für Ihr Szenario verwenden können.

1451130cookie-checkÜberprüfen des Benutzerabonnementtyps in Memberpress

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy