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, используя переменный шорткод. Если у вас есть какие-либо вопросы, пожалуйста, не стесняйтесь оставлять комментарии ниже!