mirror of
https://0xacab.org/radar/radar-wp.git
synced 2024-12-22 16:46:29 +01:00
91 lines
2.2 KiB
PHP
91 lines
2.2 KiB
PHP
|
<?php
|
||
|
|
||
|
/**
|
||
|
* Manage the Squat Radar plugin.
|
||
|
*
|
||
|
* @package Squat_Radar
|
||
|
*/
|
||
|
|
||
|
defined( 'ABSPATH' ) || exit;
|
||
|
|
||
|
/**
|
||
|
* Singleton for managing Squat Radar.
|
||
|
*/
|
||
|
class Squat_Radar_Instance {
|
||
|
|
||
|
private static $instance = null;
|
||
|
|
||
|
/**
|
||
|
* Creates or returns an instance of this class.
|
||
|
*
|
||
|
* @return A single instance of this class.
|
||
|
*/
|
||
|
public static function get_instance() {
|
||
|
return null == self::$instance ? self::$instance = new self : self::$instance;
|
||
|
}
|
||
|
|
||
|
private function __construct() {
|
||
|
include SQUAT_RADAR_DIR . 'includes/squat-radar-widget.php';
|
||
|
include SQUAT_RADAR_DIR . 'includes/squat-radar-connector.php';
|
||
|
include SQUAT_RADAR_DIR . 'includes/squat-radar-formatter.php';
|
||
|
|
||
|
add_shortcode( 'squat_radar_sidebar', array($this, 'print_sidebar') );
|
||
|
// add_shortcode( 'squat_radar_widget', array( $this, 'shortcode' ) );
|
||
|
add_action( 'plugins_loaded', array( $this, 'i18n' ), 5 );
|
||
|
add_action( 'widgets_init', array( $this, 'add_sidebar' ), 20 );
|
||
|
add_action( 'widgets_init', array('Squat_Radar_Widget', 'register_widget') );
|
||
|
|
||
|
Squat_Radar_Formatter::register();
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Load translation files
|
||
|
*
|
||
|
* @since 0.2.4
|
||
|
*/
|
||
|
function i18n() {
|
||
|
load_plugin_textdomain( 'squat-radar', false, '/languages' );
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* output a widget using 'widget' shortcode.
|
||
|
*
|
||
|
* Requires the widget ID.
|
||
|
* You can overwrite widget args: before_widget, before_title, after_title, after_widget
|
||
|
*
|
||
|
* @example [widget id="text-1"]
|
||
|
* @since 0.1
|
||
|
*/
|
||
|
public function shortcode( $atts, $content = null ) {
|
||
|
$atts['echo'] = false;
|
||
|
return $this->do_widget( $atts );
|
||
|
}
|
||
|
|
||
|
function print_sidebar() {
|
||
|
ob_start();
|
||
|
|
||
|
if (is_active_sidebar('squat_widget_gebied')) {
|
||
|
dynamic_sidebar('squat_widget_gebied');
|
||
|
}
|
||
|
|
||
|
return ob_get_clean();
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
function add_sidebar() {
|
||
|
|
||
|
register_sidebar(array(
|
||
|
'name' => __( 'Squat Radar Shortcodes'),
|
||
|
'description'=> __( 'This widget area is not by default displayed on frontend. It can be displayed with all its widgets with the [squat_radar] shortcode.', 'squat-radar' ),
|
||
|
'id' => 'squat_radar_widget_shortcode',
|
||
|
'before_widget' => '<div class="widget %2$s">',
|
||
|
'after_widget' => '</div>',
|
||
|
'before_title' => '<h3 class="widget-title">',
|
||
|
'after_title' => '</h3>',
|
||
|
));
|
||
|
|
||
|
}
|
||
|
|
||
|
}
|