Tovább a tartalomhoz

Akciók és szűrők: fizetések oldala, regisztrációs összeg, manuális fizetés, kivonat

Tizenkét akció és szűrő: a fizetések oldalának fejléce és teteje, fizetési beállítások, PayPal-argumentumok, kivonat, manuális regisztráció, profilszerkesztő, sikertelen ismétlődő fizetés, regisztrációs összegek és a gomb szövege.

Ez a fejezet a hookfejezetek sorát folytatja. A hookok teljes listája az Akciók és szűrők áttekintő listája fejezetben van. Az itt szereplő kód egyedi fejlesztés: a bővítmény támogatása nem terjed ki rá, bonyolultabb feladathoz érdemes fejlesztőt bevonni.

Az akciót add_action, a szűrőt add_filter hívással csatlakoztatod. Ha a függvényednek több paramétert kell kapnia, a prioritás után add meg a paraméterek számát is.

Akció. Új fejlécoszlopot adhatsz vele a fizetések táblázatához (Restrict → Payments). A hozzá tartozó cellák tartalmát az rcp_payments_page_table_column akció adja, a lábléc oszlopát az rcp_payments_page_table_footer.

  • Paraméter: nincs.

Akció. Tartalmat írhatsz vele a fizetések oldalának tetejére.

  • Paraméter: nincs.

Akció. Saját beállításmezőket adhatsz a Restrict → Settings → Payments fülhöz. A bővítmény a fizetési beállítások táblázata után hívja meg, ezért a saját mezőidet is egy táblázatba tedd.

  • $rcp_options (tömb): a bővítmény beállításai.

A beviteli mező name attribútuma rcp_settings[kulcs] formájú legyen, így a bővítmény a többi fizetési beállítással együtt menti el.

/**
* Egyedi mező a Restrict → Settings → Payments fülön.
*
* @param array $rcp_options A bővítmény beállításai.
*/
function mytheme_rcp_payments_settings( $rcp_options ) {
$value = isset( $rcp_options['sajat_beallitas'] ) ? $rcp_options['sajat_beallitas'] : '';
?>
<table class="form-table">
<tr valign="top">
<th>
<label for="rcp_settings[sajat_beallitas]"><?php esc_html_e( 'Saját beállítás', 'mytheme' ); ?></label>
</th>
<td>
<input
class="regular-text"
id="rcp_settings[sajat_beallitas]"
name="rcp_settings[sajat_beallitas]"
type="text"
value="<?php echo esc_attr( $value ); ?>"
/>
<p class="description"><?php esc_html_e( 'A mező leírása.', 'mytheme' ); ?></p>
</td>
</tr>
</table>
<?php
}
add_action( 'rcp_payments_settings', 'mytheme_rcp_payments_settings' );

Szűrő. A PayPal felé küldött fizetési vagy előfizetési argumentumokat módosíthatod vele.

  • $args (tömb): az argumentumok.
  • $gateway (RCP_Payment_Gateway_PayPal): a fizetési átjáró objektuma.

Szűrő. A korlátozott bejegyzéshez vagy oldalhoz generált kivonatot módosíthatod vele.

  • $excerpt (szöveg): az alapértelmezetten előállított kivonat.
  • $post (WP_Post): a korlátozott bejegyzés vagy oldal.
  • $length (egész szám): a kivonat kívánt hossza szavakban, alapértelmezés szerint 50.
  • $tags (szöveg): azok a HTML-címkék, amelyeket nem távolít el a kivonatból.
  • $extra (szöveg): a kivonat végére fűzött szöveg, alapértelmezés szerint . . ..

Manuális regisztráció és profilszerkesztő

Szekció neve “Manuális regisztráció és profilszerkesztő”

Akció. Akkor fut le, amikor egy „manuális” fizetéssel történő regisztráció elkészült, de a tag még nem került át a sikeres oldalra.

  • $member (RCP_Member): a tag objektuma.
  • $payment_id (egész szám): az éppen létrejött, függőben lévő fizetés azonosítója.
  • $gateway (RCP_Payment_Gateway_Manual): a manuális fizetési átjáró objektuma, amely az RCP_Payment_Gateway osztályból származik.

Az alábbi példa a függőben lévő fizetést azonnal „complete” állapotra állítja, így a tagság aktiválódik. Vigyázz: ilyenkor a tagság a fizetés ellenőrzése előtt aktív lesz.

function mytheme_rcp_auto_activate_manual_payments( $member, $payment_id, $gateway ) {
/** @var RCP_Payments $rcp_payments_db */
global $rcp_payments_db;
// A fizetés „complete” állapota a tagságot is aktiválja.
$rcp_payments_db->update( $payment_id, array( 'status' => 'complete' ) );
}
add_action( 'rcp_process_manual_signup', 'mytheme_rcp_auto_activate_manual_payments', 10, 3 );

Akció. Szöveget vagy HTML-t írhatsz vele a profilszerkesztő rövidkód kimenetébe, közvetlenül a „Jelszó módosítása” mezők fölé.

  • $user_id: a bejelentkezett felhasználó azonosítója.

Akció. Akkor fut le, amikor egy automatikus megújítási fizetés meghiúsul a fizetési átjárónál.

  • $member (RCP_Member): a tag objektuma, amely a WP_User osztályból származik.
  • $gateway (RCP_Payment_Gateway): a fizetési átjáró objektuma.

A példa jegyzetet fűz a tagsághoz, ha az ismétlődő terhelés nem sikerült, és naplóbejegyzést is készít:

function mytheme_rcp_add_recurring_payment_failure_note( $member, $gateway ) {
$membership = $gateway->membership;
$gateway_classes = wp_list_pluck( rcp_get_payment_gateways(), 'class' );
$gateway_name = array_search( get_class( $gateway ), $gateway_classes );
$note = sprintf( __( 'Recurring charge failed in %s.', 'rcp' ), ucwords( $gateway_name ) );
if ( ! empty( $gateway->webhook_event_id ) ) {
$note .= sprintf( __( ' Event ID: %s', 'rcp' ), $gateway->webhook_event_id );
}
$membership->add_note( $note );
rcp_log( sprintf(
'Recurring payment failed for membership #%d. Gateway: %s; Membership Level: %s; Expiration Date: %s',
$membership->get_id(),
ucwords( $gateway_name ),
$member->get_subscription_name(),
$membership->get_expiration_date()
) );
}
add_action( 'rcp_recurring_payment_failed', 'mytheme_rcp_add_recurring_payment_failure_note', 10, 2 );

Összegek és ismétlődés a regisztrációnál

Szekció neve “Összegek és ismétlődés a regisztrációnál”

Szűrő. A regisztrációkor ma fizetendő teljes összeget (a kezdeti árat) módosíthatod vele.

  • $total (lebegőpontos szám): a ma fizetendő összeg.
  • $registration (RCP_Registration): a regisztráció objektuma.

Szűrő. Az ismétlődő fizetés összegét módosíthatod vele, vagyis azt, amit az automatikus megújítások terhelnek.

  • $total (lebegőpontos szám): az ismétlődő összeg.
  • $registration (RCP_Registration): a regisztráció objektuma.

Szűrő. Azt döntheted el vele, hogy az „automatikus megújítás” be van-e kapcsolva az éppen zajló regisztrációnál. A szűrő futása közben a $_POST['rcp_level'] elérhető, így megnézheted, melyik tagsági szintet választotta a látogató a regisztrációs űrlapon.

Szűrő. A regisztrációs űrlap küldőgombjának szövegét módosíthatod vele. Ez jobb megoldás, mint a sablonfájl szövegének közvetlen átírása.

  • $button_text (szöveg): az eredeti gombszöveg („Register”).
/**
* A gomb szövege „Register” helyett „Submit Payment”.
*
* @param string $button_text Az eredeti szöveg.
*
* @return string A módosított szöveg.
*/
function mytheme_rcp_registration_register_button( $button_text ) {
return __( 'Submit Payment', 'rcp' );
}
add_filter( 'rcp_registration_register_button', 'mytheme_rcp_registration_register_button' );

Ha a Stripe Checkout van használatban, ez a szűrő nem elég: a gomb szövegét más módon, a wp_footer akcióba kötött, a gombot átíró kóddal kell cserélni.

Készült:

Tiszteletben tartjuk a magánszférádat

Sütiket használunk a böngészési élmény javítására és a forgalom elemzésére. Az analitika csak akkor indul, ha engeded. Adatvédelmi irányelvek, Sütitájékoztató.

Sütibeállítások