Description
Allows to register a class like a payment plugin. The payment will appear in the Payment Shipping plugins menu. The class must extends the TCP_Plugin class.
Usage
<?php tcp_register_payment_plugin( $class_name, $object ); ?>
Parameters
- $class_name
- (String) The class name.
- $object
- (Object) An object of the type “class name”. If this value is not given, then a new object will be created
Examples
A WordPress-TheCartPress plugin to add an payment method:
<?php
/*
Plugin Name: My plugin name
Plugin URI: My URI
Description: My plugin description
Version: 1.0
Author: Me
Author URI: My URI
License: GPL
Parent: thecartpress
*/
require_once( WP_PLUGIN_DIR . '/thecartpress/classes/TCP_Plugin.class.php' );
class MY_PLUGIN extends TCP_Plugin {
function __construct() {
add_action( 'init', array( $this, 'init' ), 99 );
if ( is_admin() )
register_activation_hook( __FILE__, array( $this, 'activatePlugin' ) );
}
function getTitle() {
return 'My plugin';
}
function getDescription() {
return 'My plugin description<br>Author: <a href="my_url" target="_blank">Me</a>';
}
function showEditFields( $data ) {?>
<tr valign="top">
<th scope="row">
<label for="field_1"><?php _e( 'Field 1', 'my_plugin' );?>:</label>
</th><td>
<input type="text" id="field_1" name="field_1" size="25" maxlength="25" value="<?php echo isset( $data['field_1'] ) ? $data['field_1'] : '';?>" />
</td></tr><?php
}
function getCheckoutMethodLabel( $instance, $shippingCountry, $shoppingCart ) {
return 'My Plugin Label';
}
function showPayForm( $instance, $shippingCountry, $shoppingCart, $order_id ) {
$data = tcp_get_payment_plugin_data( get_class( $this ), $instance );
$field_1 = $data['field_1'];
<form action="url" method="POST">
<input type="submit" name="submit" title="<?php _e( 'Click to pay with My Payment method', 'my_plugin' );?>" alt="<?php _e( 'Click to pay with My Payment method', 'my_plugin' );?>"/>
</form><?php
}
function saveEditFields( $data ) {
$data['field_1'] = isset( $_REQUEST['field_1'] ) ? $_REQUEST['field_1'] : '';
return $data;
}
function init() {
if ( ! function_exists( 'is_plugin_active' ) )
require_once( ABSPATH . '/wp-admin/includes/plugin.php' );
if ( ! is_plugin_active( 'thecartpress/TheCartPress.class.php' ) ) {
add_action( 'admin_notices', array( $this, 'adminNoticesDeactivated' ) );
} else {
tcp_register_payment_plugin( 'MY_PLUGIN' );
}
}
function adminNoticesDeactivated() {
echo '<div class="updated">
<p>', __( '<strong>My plugin</strong> requires TheCartPress plugin activated.', 'my_plugin' ), '</p>
</div>';
}
function activatePlugin() {
if ( ! function_exists( 'is_plugin_active' ) )
require_once( ABSPATH . '/wp-admin/includes/plugin.php' );
if ( ! is_plugin_active( 'thecartpress/TheCartPress.class.php' ) )
exit( __( '<strong>My plugin</strong> requires TheCartPress plugin', 'my_plugin' ) );
}
}
new My_PLUGIN();
?>
Change Log
Since 1.2.7, New parameter $object
