LifterLMS 확장 – Stripe Filters

LifterLMS 확장 – Stripe Filters

개요

필터(Filters)가 무엇인지 모르겠다면 필터에 대한 WordPress Codex 참조 및 핵심 함수인 add_filter()를 살펴보세요.

테마 또는 하위 테마의 functions.php 파일 또는 site-specific 플러그인에 필터를 추가할 수 있습니다. 이를 위해 LifterLMS에서 매우 기본적인 플러그인을 만들었으며 여기를 눌러 무료로 다운로드 할 수 있습니다.

개발자이고, 무언가를 필터링하려는 경우 사용할 수 있습니다. 여기에 나와있지 않은 경우 먼저 코드베이스를 확인한 다음 필터를 찾는데 도움이 필요하면 지원 티켓을 제출하세요.

llms_stripe_api_version

LifterLMS Stripe에서 사용하는 Stripe API 버전 변경

주의! 특히 MAJOR api 버전과 관련하여 자신의 책임하에 사용하세요!

<?php // don't copy this line to your functions.php file!

/**
 * Change the Stripe API version used by LifterLMS Stripe
 * See available API versions here: https://stripe.com/docs/upgrades#api-changelog
 * LifterLMS Stripe currently uses version 2017-06-05
 * Use at your own risk, especially with regards to MAJOR api versions!
 * @param    string     $api_version  default api version (2017-06-05)
 * @return   version
 */
function my_llms_stripe_api_version( $api_version ) {
	return '2017-05-25'; // because you're silly and want to rollback?
}
add_filter( 'llms_stripe_api_version', 'my_llms_stripe_api_version', 10 );

llms_stripe_charge_description

요금 데이터를 Stripe에 전달하기 전에 요금 설명을 사용자 지정할 수 있습니다.

<?php // don't copy this line to your functions.php file!

/**
 * Allows customization of the charge description before being passed to stripe
 * @param    string     $description  Default Description
 * @param    string     $order        instance of the LLMS_Order for the related charge
 * @return   string
 */
function my_llms_stripe_charge_description( $description, $order ) {
	return __( 'My Custom Charge Description', 'my-text-domain' );
}
add_filter( 'llms_stripe_charge_description', 'my_llms_stripe_charge_description', 10, 2 );

llms_stripe_elements_settings

스트라이프 요소에 대한 시각적(CSS) 설정을 사용자 지정할 수 있습니다.

또한 Stripe Elements에 의해 생성된 모든 텍스트의 로케일을 구성할 수 있습니다.

추가 설정은 요소 설정카드 설정에 대한 Stripe 문서를 참조하십시오.

<?php // don't copy this line to your functions.php file!

/**
 * Customize the settings passed to Stripe Elements
 * @param    array     $settings  default settings
 * @return   array
 * @since    4.3.0
 */
function my_llms_stripe_elements_settings( $settings ) {

	 // change the locale to Spanish (localizes all text generated by Stripe Elements)
	 // see https://stripe.com/docs/stripe.js#stripe-elements for all available options
	$settings['elements']['locale'] = 'es';

	// disable postal code field
	$settings['card']['hidePostalCode'] = true;
	
	// adjust css settings of the Card element
	// see https://stripe.com/docs/stripe.js#element-options for all available options
	$settings['card']['style']['base']['color'] = '#000000';
	$settings['card']['style']['base']['fontSize'] = '22px';
	$settings['card']['style']['base']['fontWeight'] = 400;

	return $settings;

}
add_filter( 'llms_stripe_elements_settings', 'my_llms_stripe_elements_settings' );

llms_stripe_get_card_desrcription

관리자 패널 및 학생 대시보드에 표시되는 카드 설명 사용자 지정

<?php // don't copy this line to your functions.php file!

/**
 * Customize the Card description displayed on the admin panel and student dashboards
 * @param    string     $description  default card description
 * @param    obj        $card         Stripe Card object (https://stripe.com/docs/api#card_object)
 * @return   string
 */
function my_llms_stripe_get_card_desrcription( $description, $card ) {
	// EG: Visa (Exp. 12/2019)
	return sprintf( __( '%1$s (Exp. %2$d/%3$d)', 'my-text-domain' ), $card->brand, $card->exp_month, $card->exp_year );

}
add_filter( 'llms_stripe_get_card_desrcription', 'my_llms_stripe_get_card_desrcription', 10, 2 );

llms_stripe_new_charge_data

청구를 위해 Stripe로 전 된 최종 청구 대상을 사용자 지정

<?php // don't copy this line to your functions.php file!

/**
 * Customize the final charge object sent to Stripe for a charge
 * See https://stripe.com/docs/api#create_charge for more information on data format
 * @param    array     $charge  array of charge data
 * @return   array
 */
function my_llms_stripe_new_charge_data( $charge ) {

	if ( ! isset( $charge['metadata'] ) ) {
		$charge['metadata'] = array();
	}
	$charge['metadata']['my_custom_meta'] = 'My Custom Meta Value';

	return $charge;
}
add_filter( 'llms_stripe_new_charge_data', 'my_llms_stripe_new_charge_data', 10 );

llms_stripe_new_customer_data

<?php // don't copy this line to your functions.php file!
/**
 * Customize the final customer object sent to Stripe for a customer
 * See https://stripe.com/docs/api#create_customer for more information on data format
 * @param    array     $customer  array of customer data
 * @param    int       $user_id   WP_User ID of the user a customer is being created for
 * @return   array
 */
function my_llms_stripe_new_customer_data( $customer, $user_id ) {
	if ( ! isset( $customer['metadata'] ) ) {
		$customer['metadata'] = array();
	}
	$customer['metadata']['my_custom_meta'] = 'My Custom Meta Value';
	return $customer;
}
add_filter( 'llms_stripe_new_customer_data', 'my_llms_stripe_new_customer_data', 10, 2 );

llms_stripe_refund_data

환불을 위해 Stripe로 전송된 최종 환불 개체를 사용자 지정합니다.

<?php // don't copy this line to your functions.php file!

/**
 * Customize the final refund object sent to Stripe for a refund
 * See https://stripe.com/docs/api#create_refund for more information on data format
 * @param    array     $refund  array of refund data
 * @return   array
 */
function my_llms_stripe_refund_data( $refund ) {
	if ( ! isset( $refund['metadata'] ) ) {
		$refund['metadata'] = array();
	}
	$refund['metadata']['my_custom_meta'] = 'My Custom Meta Value';
	return $refund;
}
add_filter( 'llms_stripe_refund_data', 'my_llms_stripe_refund_data', 10 );

llms_stripe_statement_descriptor

Stripe에 청구를 전달하기 전에 명세서 설명자를 사용자 지정합니다.

<?php // don't copy this line to your functions.php file!

/**
 * Allows customization of the statement descriptor before passing a charge to Stripe
 * @param    string     $descriptor   Default descriptor
 * @param    string     $order        instance of the LLMS_Order for the related charge
 * @return   string
 */
function my_llms_stripe_statement_descriptor( $descriptor, $order ) {
	return __( 'My Custom Statement Descriptor', 'my-text-domain' );
}
add_filter( 'llms_stripe_statement_descriptor', 'my_llms_stripe_statement_descriptor', 10, 2 );

원문: https://lifterlms.com/docs/lifterlms-stripe-filters/

코멘트 제출