Easily display your accepted payment methods from WooCommerce. Handcrafted with ♥ by vendocrat in Vienna. * Version: 0.1.0 * Author: vendocrat * Author URI: http://vendocr.at/ * License: GNU General Public License v3.0 * License URI: http://www.gnu.org/licenses/gpl-3.0.html */ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly if ( ! in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ) return; if ( ! class_exists( 'vendocrat_Woo_Payment_Methods' ) ) : class vendocrat_Woo_Payment_Methods { /** * Constructor * * @since 2014-08-15 * @version 2014-08-15 **************************************************/ function __construct() { define( 'PAYMENT_METHODS_DIR', plugin_dir_path( __FILE__ ) ); define( 'PAYMENT_METHODS_URI', plugin_dir_url( __FILE__ ) ); define( 'PAYMENT_METHODS_CSS_URI', trailingslashit( PAYMENT_METHODS_URI . 'assets/css' ) ); define( 'PAYMENT_METHODS_IMG_URI', trailingslashit( PAYMENT_METHODS_URI . 'assets/img' ) ); $this->load_functions(); $this->load_classes(); // load text domain add_action( 'plugins_loaded', array( &$this, 'load_plugin_textdomain' ) ); // scripts and styles if ( ! is_admin() ) : add_action( 'wp_enqueue_scripts', array( &$this, 'enqueue_styles' ) ); add_action( 'wp_enqueue_scripts', array( &$this, 'enqueue_scripts' ) ); endif; // register widgets add_action( 'widgets_init', array( &$this, 'register_widgets' ) ); // add shortcode add_shortcode( 'v_woo_payment_methods', array( &$this, 'get_payment_methods' ) ); } /** * Load theme textdomain * * @return void * * @since 2014-09-08 * @version 2014-09-08 **************************************************/ static function load_plugin_textdomain() { load_plugin_textdomain( 'vendocrat-payment-methods', PAYMENT_METHODS_DIR .'languages' ); } /** * Override some WooCommerce plugin functionality * * @return void * * @since 2014-09-07 * @version 2014-09-07 **************************************************/ function load_functions() {} /** * Override some WooCommerce plugin functionality * * @return void * * @since 2014-09-07 * @version 2014-09-07 **************************************************/ function load_classes() {} /** * Enqueue Styles * * @return void * * @since 2014-09-07 * @version 2014-09-07 **************************************************/ function enqueue_styles() { if ( ! wp_style_is( 'vendocrat-payment-webfont', 'registered' ) ) { wp_register_style( 'vendocrat-payment-webfont', PAYMENT_METHODS_CSS_URI .'payment-webfont.min.css', array(), false, 'all' ); } wp_enqueue_style( 'vendocrat-payment-webfont' ); wp_register_style( 'vendocrat-payment-methods', PAYMENT_METHODS_CSS_URI .'payment-methods.css', array(), false, 'all' ); wp_enqueue_style( 'vendocrat-payment-methods' ); } /** * Enqueue Scripts * * @return void * * @since 2014-09-07 * @version 2014-09-07 **************************************************/ function enqueue_scripts() {} /** * Register Widgets * * @return void * * @since 2014-09-07 * @version 2014-09-08 **************************************************/ function register_widgets() { require_once PAYMENT_METHODS_DIR .'classes/class-widget-payment-methods.php'; register_widget( 'vendocrat_Widget_Payment_Methods' ); } /** * Woo Accepted Payment Methods * * @since 2014-09-07 * @version 2014-09-08 **************************************************/ function get_payment_methods( $atts = array(), $content = null ) { extract( shortcode_atts( array( 'methods' => array(), // keys are the gateway slugs (lowercase) for the icon class, values are the title attributes 'style' => 'default', // default, inverse, o/outline 'tooltip' => false, // adds data attributes to icon to be used for diplaying tooltips (made for Bootstrap) 'xclass' => false, // add any extra classes, seperated by a space ), $atts ) ); $class = 'payment-methods'; $class.= ($style) ? ' payment-methods-'. $style : ''; $class.= ($xclass) ? ' '. $xclass : ''; $output = '