PayPal — это отличный обработчик платежей, который позволяет любому отправлять вам деньги, которые затем можно отправить прямо на ваш банковский счет. В этом уроке вы узнаете, как создать плагин WordPress, позволяющий генерировать кнопку «Купить сейчас» с использованием переменного шорткода.
Основной шорткод будет иметь значение по умолчанию 50 долларов США с Большим размером, хотя вы сможете перезаписывать его каждый раз, когда вводите шорткод; это называется переменным шорткодом.
Итак, начнем!
1. Инициализация плагина
Шаг 1
Создайте в каталоге wp-content/plugins
новый каталог с именем paypal-buy-now-button-shortcode
и в нем создайте файл с именем paypal-buy-now-button-shortcode.php
.
Шаг 2
Чтобы WordPress знал, что это плагин, вам нужно добавить следующую информацию заголовка в начало вашего нового PHP-файла.
01
02
03
04
05
06
07
08
09
10
11
12
13
|
<?php
/**
* Plugin Name: PayPal Buy Now Button Shortcode
* Plugin URI: http://www.samberson.com
* Description: A simple PayPal Buy Now button plugin with shortcode.
* Version: 1.0.0
* Author: Sam Berson
* Author URI: http://www.samberson.com
* License: GPL-3.0+
* License URI: http://www.gnu.org/licenses/gpl-3.0.html
* Domain Path: /lang
* Text Domain: paypal-buy-now-button-shortcode
*/
|
2. Создание шорткода
Шаг 1
Теперь вы начнете с создания новой функции с атрибутами, названной paypal_buy_now_shortcode( $atts )
, и открытия функции.
1
2
3
4
|
/**
* Generates the markup for the shortcode on the public site.
*/
function paypal_buy_now_shortcode( $atts ) {
|
Шаг 2
Далее вы настроите параметры плагина и добавите массив, содержащий атрибуты шорткода по умолчанию.
01
02
03
04
05
06
07
08
09
10
11
12
|
$options = get_option( ‘paypal_buy_now_options’ );
$atts = shortcode_atts(
array(
‘amount’ => ’50’,
‘currency’ => ‘USD’,
‘size’ => ‘SM’
),
$atts
);
extract( $atts );
|
Шаг 3
Теперь вы собираетесь установить вывод для внешнего интерфейса шорткода, который является стандартной формой HTML, с включенным в него некоторым PHP, который будет передавать данные формы, такие как идентификатор PayPal, сумма, валюта и кнопка размер. Вы также закроете новую функцию, которую вы создали ранее.
01
02
03
04
05
06
07
08
09
10
11
12
13
|
return ‘<form action=»https://www.paypal.com/cgi-bin/webscr» method=»post»>
<div class=»paypal-donations»>
<input type=»hidden» name=»cmd» value=»_xclick»>
<input type=»hidden» name=»business» value=»‘ . $options[‘paypal_user_id’] . ‘»>
<input type=»hidden» name=»amount» value=»‘ . $amount . ‘»>
<input type=»hidden» name=»rm» value=»0″>
<input type=»hidden» name=»currency_code» value=»‘ . $currency . ‘»>
<input type=»image» src=»https://www.paypal.com/en_US/i/btn/btn_buynow_’ . $size . ‘.gif» name=»submit» alt=»‘ . __( ‘PayPal — The safer, easier way to pay online.’, ‘paypal-buy-now-button-shortcode’ ) . ‘»>
<img alt=»» src=»https://www.paypal.com/en_US/i/scr/pixel.gif» width=»1″ height=»1″>
</div>
</form>’;
}
|
Шаг 4
Наконец, вы инициализируете функцию как add_shortcode()
с помощью функции add_shortcode()
, которая встроена в WordPress. По сути, вы говорите, что шорткод будет [buy_now]
, используя функцию paypal_buy_now_shortcode
.
1
|
add_shortcode( ‘buy_now’, ‘paypal_buy_now_shortcode’ );
|
3. Добавление дополнительных функций
Шаг 1
Далее вы добавите функцию paypal_buy_now_user_id
и ее параметры, которые позволят отображать поле ввода HTML в paypal_buy_now_user_id
.
1
2
3
4
5
6
7
8
9
|
/**
* Generates the markup for the PayPal user id.
*/
function paypal_buy_now_user_id() {
$options = get_option( ‘paypal_buy_now_options’ );
echo «<input name=’paypal_buy_now_options[paypal_user_id]’ type=’email’ value='{$options[‘paypal_user_id’]}’/>»;
}
|
Шаг 2
С paypal_buy_now_register_settings
функции paypal_buy_now_register_settings
вы будете регистрировать поля настроек в серверной части и присваивать им имена данных. В этом случае вы регистрируете настройки, добавляете раздел в бэкэнд, а затем инициализируете поле PayPal Id .
01
02
03
04
05
06
07
08
09
10
11
|
/**
* Registers settings page and fields.
*/
function paypal_buy_now_register_settings() {
register_setting( ‘paypal_buy_now_settings’, ‘paypal_buy_now_options’ );
add_settings_section( ‘paypal_buy_now_section’, », null, __FILE__ );
add_settings_field( ‘paypal_user_id’, __( ‘PayPal Id’, ‘paypal-buy-now-button-shortcode’ ),’paypal_buy_now_user_id’, __FILE__, ‘paypal_buy_now_section’ );
}
|
Шаг 3
Подобно тому, что вы делали ранее с инициализацией шорткода, вы paypal_buy_now_register_settings
функцию paypal_buy_now_register_settings
в качестве действия в области администратора.
1
|
add_action( ‘admin_init’, ‘paypal_buy_now_register_settings’ );
|
4. Параметры администратора HTML
Шаг 1
Функция paypal_buy_now_options_page
позволит вам добавить HTML- paypal_buy_now_options_page
необходимый для правильного отображения формы в серверной части. После добавления функции вы создадите структуру HTML с открывающим div
и h2
, а затем форму с полями, которые вы инициализировали ранее.
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
/**
* Generates the markup for the options page.
*/
function paypal_buy_now_options_page() {
?>
<div class=»wrap»>
<h2><?php _e( ‘PayPal Buy Now Shortcode Settings’, ‘paypal-buy-now-button-shortcode’ );
<form method=»post» action=»options.php» enctype=»multipart/form-data»>
<?php
settings_fields( ‘paypal_buy_now_settings’ );
do_settings_sections( __FILE__ );
?>
<p class=»submit»>
<input type=»submit» class=»button-primary» name=»submit» value=»<?php _e( ‘Save Changes’, ‘paypal-buy-now-button-shortcode’ ); ?>»>
</p>
</form>
</div>
<?php
}
|
Шаг 2
Теперь функция paypal_buy_now_add_settings_menu
позволит вам создать новое меню / страницу в конце и определить, какими должны быть различные заголовки.
01
02
03
04
05
06
07
08
09
10
11
|
/**
* Adds menu item to the settings.
*/
function paypal_buy_now_add_settings_menu() {
$title = __( ‘PayPal Buy Now Shortcode’, ‘paypal-buy-now-button-shortcode’ );
add_options_page( $title, $title, ‘administrator’, __FILE__, ‘paypal_buy_now_options_page’);
}
add_action( ‘admin_menu’, ‘paypal_buy_now_add_settings_menu’ );
|
5. Использование плагина
Вы успешно создали плагин, но как вы его используете? Ну, это очень просто.
Шаг 1
Если вы используете основной шорткод самостоятельно, как показано ниже, вы увидите большую кнопку, которая при нажатии установит сумму в 50 долларов США.
1
|
[buy_now]
|
Шаг 2
Затем вы можете использовать различные атрибуты, которые вы установили, чтобы изменить кнопку. Таким образом, вы можете установить размер либо маленький («SM»), либо большой («LG»).
1
|
[buy_now size=LG]
|
Шаг 3
Затем код валюты можно установить как любую из распознанных валют PayPal, например, USD или GBP.
1
|
[buy_now currency=GBP size=LG]
|
Шаг 4
Наконец, вы установите сумму в виде числового значения, например 100 или 40. Не забудьте не включать символ валюты в переменную суммы.
1
|
[buy_now amount=150 currency=GBP size=LG]
|
Шаг 5
И последнее, что я должен сделать, это то, что, поскольку уже установлены значения по умолчанию, вам не нужно каждый раз устанавливать все три переменные; Вы можете просто изменить один или два из них, если это будет необходимо.
В итоге
Это оно! Теперь вы создали новый плагин, который позволяет создавать кнопку PayPal Buy Now, используя переменный шорткод. Если у вас есть какие-либо вопросы, пожалуйста, не стесняйтесь оставлять комментарии ниже!