() translation by (you can also view the original English article)
PayPal jest metodą płatności, która pozwala każdemu na wysłanie Ci pieniędzy. Pieniądze te, możesz w prosty sposób wysłać na swoje konto w banku. W tym kursie, dowiesz się jak utworzyć wtyczkę do WordPress pozwalającą na wygenerowanie przycisku "Kup Teraz" przy użyciu skrótu.
Domyślny skrót będzie posiadał wartość $50 oraz rozmiar Large. Domyślne wartości będziesz mógł zmienić za każdym razem gdy użyjesz skrótu.
Zaczynamy!
1. Inicjalizacja Wtyczki
Krok 1
Utwórz nowy folder w wp-content/plugins
, nazwij go paypal-buy-now-button-shortcode
, oraz utwórz w nim plik paypal-buy-now-button-shortcode.php
.
Krok 2
WordPress musi wiedzieć że jest to wtyczka więc musimy dodać kilka informacji do nagłówka naszego nowego pliku PHP.
1 |
<?php
|
2 |
/**
|
3 |
* Plugin Name: PayPal Buy Now Button Shortcode
|
4 |
* Plugin URI: https://www.samberson.com
|
5 |
* Description: A simple PayPal Buy Now button plugin with shortcode.
|
6 |
* Version: 1.0.0
|
7 |
* Author: Sam Berson
|
8 |
* Author URI: http://www.samberson.com
|
9 |
* License: GPL-3.0+
|
10 |
* License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
11 |
* Domain Path: /lang
|
12 |
* Text Domain: paypal-buy-now-button-shortcode
|
13 |
*/
|
2. Tworzymy skrót
Krok 1
Teraz utworzymy funkcję z argumentem, nazwiemy ją paypal_buy_now_shortcode( $atts )
.
1 |
/**
|
2 |
* Generates the markup for the shortcode on the public site.
|
3 |
*/
|
4 |
function paypal_buy_now_shortcode( $atts ) { |
Krok 2
Teraz utworzymy opcję naszej nowej wtyczki oraz dodamy tablicę zawierającą domyślne atrybuty skrótu.
1 |
$options = get_option( 'paypal_buy_now_options' ); |
2 |
|
3 |
$atts = shortcode_atts( |
4 |
array( |
5 |
'amount' => '50', |
6 |
'currency' => 'USD', |
7 |
'size' => 'LG' |
8 |
),
|
9 |
$atts
|
10 |
);
|
11 |
|
12 |
extract( $atts ); |
Krok 3
Teraz zajmiemy się, częścią widoczną dla odwiedzających twoją stronę. Będzie to standardowy kod HTML z dodatkami PHP, które przejmą dane z formularza takie jak PayPal ID, kwota, waluta oraz wielkość przycisku. Dodatkowo zamkniemy funkcję, którą rozpoczęliśmy wcześniej.
1 |
return '<form action="https://www.paypal.com/cgi-bin/webscr" method="post"> |
2 |
<div class="paypal-donations">
|
3 |
<input type="hidden" name="cmd" value="_xclick">
|
4 |
<input type="hidden" name="business" value="' . $options['paypal_user_id'] . '"> |
5 |
<input type="hidden" name="amount" value="' . $amount . '"> |
6 |
<input type="hidden" name="rm" value="0">
|
7 |
<input type="hidden" name="currency_code" value="' . $currency . '"> |
8 |
<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' ) . '"> |
9 |
<img alt="" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
|
10 |
</div>
|
11 |
</form>'; |
12 |
|
13 |
}
|
Krok 4
Na końcu dokonamy inicjalizacji funkcji jako skrótu poprzez użycie funkcji add_shortcode()
, która jest wbudowana w WordPressa. Po prostu, mówimy że nasz skrót będzie wyglądał tak: [buy_now]
oraz będzie używał funkcji: paypal_buy_now_shortcode
1 |
add_shortcode( 'buy_now', 'paypal_buy_now_shortcode' ); |
3. Dodajemy więcej funkcji
Krok 1
Dodajmy funkcję paypal_buy_now_user_id
wraz z jej opcjami, co pozwoli na wyświetlenie pola input w panelu administratora.
1 |
/**
|
2 |
* Generates the markup for the PayPal user id.
|
3 |
*/
|
4 |
function paypal_buy_now_user_id() { |
5 |
|
6 |
$options = get_option( 'paypal_buy_now_options' ); |
7 |
|
8 |
echo "<input name='paypal_buy_now_options[paypal_user_id]' type='email' value='{$options['paypal_user_id']}'/>"; |
9 |
}
|
Krok 2
Przy użyciu funkji paypal_buy_now_register_settings
, będziemy rejestrować wszystkie ustawienia oraz zastąpimy je odpowiednimi danymi. W tym przypadku rejestrujemy ustawienia, dodajemy sekcję ustawień oraz inicjalizujemy pole PayPal Id.
1 |
/**
|
2 |
* Registers settings page and fields.
|
3 |
*/
|
4 |
function paypal_buy_now_register_settings() { |
5 |
|
6 |
register_setting( 'paypal_buy_now_settings', 'paypal_buy_now_options' ); |
7 |
|
8 |
add_settings_section( 'paypal_buy_now_section', '', null, __FILE__ ); |
9 |
|
10 |
add_settings_field( 'paypal_user_id', __( 'PayPal Id', 'paypal-buy-now-button-shortcode' ),'paypal_buy_now_user_id', __FILE__, 'paypal_buy_now_section' ); |
11 |
}
|
Krok 3
Podobnie do tego co zrobiliśmy wcześniej z inicjalizacją skrótu, teraz dodamy funkcję paypal_buy_now_register_settings
jako akcję do panelu administratora.
1 |
add_action( 'admin_init', 'paypal_buy_now_register_settings' ); |
4. Opcje HTML Administratora
Krok 1
Funkcja paypal_buy_now_options_page
pozwoli nam na dodanie kodu HTML aby poprawnie wyświetlić formularz w systemie. Po dodaniu kodu, utworzymy strukture HTML rozpoczynającą się od div
oraz h2
, oraz utworzy formularz z polami zainicjalizowanymi wcześniej.
1 |
/** |
2 |
* Generates the markup for the options page. |
3 |
*/ |
4 |
function paypal_buy_now_options_page() { |
5 |
|
6 |
?> |
7 |
<div class="wrap"> |
8 |
<h2><?php _e( 'PayPal Buy Now Shortcode Settings', 'paypal-buy-now-button-shortcode' ); ?></h2> |
9 |
<form method="post" action="options.php" enctype="multipart/form-data"> |
10 |
<?php
|
11 |
|
12 |
settings_fields( 'paypal_buy_now_settings' );
|
13 |
|
14 |
do_settings_sections( __FILE__ );
|
15 |
|
16 |
?>
|
17 |
<p class="submit"> |
18 |
<input type="submit" class="button-primary" name="submit" value="<?php _e( 'Save Changes', 'paypal-buy-now-button-shortcode' ); ?>"> |
19 |
</p>
|
20 |
</form>
|
21 |
</div>
|
22 |
<?php
|
23 |
|
24 |
}
|
Krok 2
Funkcja paypal_buy_now_add_settings_menu
pozwoli na utworzenie nowego menu lub strony w systemie, oraz zdefiniowanie nazw które zostaną wyświetlone.
1 |
/**
|
2 |
* Adds menu item to the settings.
|
3 |
*/
|
4 |
function paypal_buy_now_add_settings_menu() { |
5 |
|
6 |
$title = __( 'PayPal Buy Now Shortcode', 'paypal-buy-now-button-shortcode' ); |
7 |
|
8 |
add_options_page( $title, $title, 'administrator', __FILE__, 'paypal_buy_now_options_page'); |
9 |
}
|
10 |
|
11 |
add_action( 'admin_menu', 'paypal_buy_now_add_settings_menu' ); |
5. Używanie Wtyczki
Skoro już mamy gotowy plugin, pojawia się pytanie... jako go używać? Odpowiedź jest banalnie prosta.
Krok 1
Jeśli użyjesz samego skrótu tak jak poniżej, zobaczysz duży przycisk po kliknięciu którego wyślesz kwotę $50 USD.
1 |
[buy_now] |
Krok 2
Możesz użyć atrybutu aby zmienić przycisk. Na przykład możesz zmienić wielkość przycisku poprzez zmianę rozmiaru na ('SM') lub ('LG').
1 |
[buy_now size=LG] |
Krok 3
Waluta możę zostać ustawiona na każdą obsługiwaną przez PayPal walutę, np. PLN
1 |
[buy_now currency=PLN size=LG] |
Krok 4
Na końcu, musimy ustalić kwotę tranzakcji w zapisie numerycznym np. 100 lub 40. Należy pamiętać aby dołączyć symbol waluty.
1 |
[buy_now amount=150 currency=PLN size=LG] |
Krok 5
Ostatnim ważnym elementem na który należy zwrócić uwagę jest to, że dzięki domyślnym ustawieniom, nie musimy zmieniać całego przycisku za każdym razem gdy chcemy go użyć; zmieniamy tylko to co musimy.
Podsumowanie
To tyle ! Właśnie utworzyliśmy nową wtyczkę, która pozwala na dodanie przycisku PayPal poprzez skrót. Jeśli masz pytania, napisz je w komentarzu poniżej !