コード例 #1
0
 /**
  * This function registers various Customizer options for this theme.
  */
 public function customize_register($wp_customize)
 {
     // Load custom Customizer API assets
     include_once get_template_directory() . '/customizer/class-baton-customizer-conductor-control.php';
     // Baton Customizer Conductor Control
     // Grab the Baton Conductor instance
     $baton_conductor = Baton_Conductor_Instance();
     /**
      * Baton Conductor
      */
     // Section
     $wp_customize->add_section('baton_conductor', array('priority' => 40, 'title' => __('Blog Display', 'baton'), 'description' => sprintf(__('This is a preview of our Conductor Widget. <a href="%1$s" target="_blank">Install our Conductor plugin</a> for even better ways to control your content.', 'baton'), esc_url('https://conductorplugin.com/?utm_source=baton&utm_medium=link&utm_content=baton-conductor&utm_campaign=baton'))));
     /*
      * Settings
      */
     // Disabled
     $wp_customize->add_setting('baton_conductor[disabled]', array('default' => apply_filters('theme_mod_baton_conductor_disabled', $baton_conductor->defaults['disabled']), 'sanitize_callback' => 'baton_boolval'));
     // Enhanced Display Disabled
     $wp_customize->add_setting('baton_conductor[enhanced_display_disabled]', array('default' => apply_filters('theme_mod_baton_conductor_enhanced_display_disabled', $baton_conductor->defaults['enhanced_display_disabled']), 'sanitize_callback' => 'baton_boolval'));
     // Title
     $wp_customize->add_setting('baton_conductor[title]', array('default' => apply_filters('theme_mod_baton_conductor_title', $baton_conductor->defaults['title']), 'sanitize_callback' => 'sanitize_text_field'));
     // Posts Per Page
     $wp_customize->add_setting('baton_conductor[posts_per_page]', array('default' => apply_filters('theme_mod_baton_conductor_posts_per_page', $baton_conductor->defaults['posts_per_page']), 'sanitize_callback' => 'absint'));
     // Category
     $wp_customize->add_setting('baton_conductor[category]', array('default' => apply_filters('theme_mod_baton_conductor_category', $baton_conductor->defaults['category']), 'sanitize_callback' => 'absint'));
     // Flexbox
     $wp_customize->add_setting('baton_conductor[flexbox_columns]', array('default' => apply_filters('theme_mod_baton_conductor_flexbox_columns', $baton_conductor->defaults['flexbox_columns']), 'sanitize_callback' => 'absint'));
     // Output
     $wp_customize->add_setting('baton_conductor[output]', array('default' => apply_filters('theme_mod_baton_conductor_output', $baton_conductor->defaults['output']), 'sanitize_callback' => array($this, 'sanitize_output'), 'sanitize_js_callback' => array($this, 'sanitize_js_output')));
     // Excerpt Length
     $wp_customize->add_setting('baton_conductor[excerpt_length]', array('default' => apply_filters('theme_mod_baton_conductor_excerpt_length', $baton_conductor->defaults['excerpt_length']), 'sanitize_callback' => 'absint'));
     // Featured Image Size
     $wp_customize->add_setting('baton_conductor[post_thumbnails_size]', array('default' => apply_filters('theme_mod_baton_conductor_post_thumbnails_size', $baton_conductor->defaults['post_thumbnails_size']), 'sanitize_callback' => 'sanitize_text_field'));
     /*
      * Controls
      */
     // Disabled
     $wp_customize->add_control(new SDS_Theme_Options_Customize_Checkbox_Control($wp_customize, 'baton_conductor[disabled]', array('label' => __('Blog Display', 'baton'), 'description' => __('Use this setting to enable or disable Blog Display <sup>by Conductor</sup>.', 'baton'), 'section' => 'baton_enable_disable_features', 'settings' => 'baton_conductor[disabled]', 'priority' => 10, 'active_callback' => 'baton_has_blog_front_page', 'type' => 'checkbox', 'css_class' => 'baton-conductor-disabled', 'css_id' => 'baton_conductor_disabled', 'checked_label' => __('Yes', 'baton'), 'unchecked_label' => __('No', 'baton'), 'style' => array('before' => 'width: 38%; text-align: center;', 'after' => 'width: 38%; padding: 0 6px; text-align: center; right: 0;'))));
     // Enhanced Display Disabled
     $wp_customize->add_control(new SDS_Theme_Options_Customize_Checkbox_Control($wp_customize, 'baton_conductor[enhanced_display_disabled]', array('label' => __('Enhanced Blog Display', 'baton'), 'description' => __('Use this setting to enable or disable the enhanced Blog Display <sup>by Conductor</sup>.', 'baton'), 'section' => 'baton_enable_disable_features', 'settings' => 'baton_conductor[enhanced_display_disabled]', 'priority' => 20, 'active_callback' => 'baton_conductor_customizer_active_callback', 'type' => 'checkbox', 'css_class' => 'baton-conductor-enhanced-display-disabled', 'css_id' => 'baton_conductor_enhanced_display_disabled', 'checked_label' => __('Yes', 'baton'), 'unchecked_label' => __('No', 'baton'), 'style' => array('before' => 'width: 38%; text-align: center;', 'after' => 'width: 38%; padding: 0 6px; text-align: center; right: 0;'))));
     // Conductor
     $wp_customize->add_control(new Baton_Customize_Conductor_Control($wp_customize, 'baton_conductor', array('label' => __('Conductor', 'baton'), 'section' => 'baton_conductor', 'settings' => array('title' => 'baton_conductor[title]', 'posts_per_page' => 'baton_conductor[posts_per_page]', 'category' => 'baton_conductor[category]', 'flexbox_columns' => 'baton_conductor[flexbox_columns]', 'output' => 'baton_conductor[output]', 'post_thumbnails_size' => 'baton_conductor[post_thumbnails_size]', 'excerpt_length' => 'baton_conductor[excerpt_length]'), 'priority' => 10, 'active_callback' => 'baton_conductor_customizer_active_callback')));
 }
コード例 #2
0
<?php

global $wp_query;
// Grab the Baton Conductor instance
$baton_conductor = Baton_Conductor_Instance();
// Grab the Baton Conductor instance (settings)
$baton_conductor_instance = $baton_conductor->get_baton_conductor_instance();
// Pagination
if ($baton_conductor->baton_conductor_query->has_pagination()) {
    do_action('baton_conductor_pagination_before', $baton_conductor_instance, $wp_query, $baton_conductor);
    get_template_part('loop', 'navigation');
    // Loop - Navigation
    do_action('baton_conductor_pagination_after', $baton_conductor_instance, $wp_query, $baton_conductor);
}
コード例 #3
0
         * This function returns a Baton Conductor instance (settings).
         */
        public function get_baton_conductor_instance()
        {
            // Create an "instance"
            $instance = array('title' => $this->baton_conductor_theme_mod['title'], 'posts_per_page' => $this->baton_conductor_theme_mod['posts_per_page'], 'category' => $this->baton_conductor_theme_mod['category'], 'flexbox_columns' => $this->baton_conductor_theme_mod['flexbox_columns'], 'flexbox' => array('columns' => $this->baton_conductor_theme_mod['flexbox_columns']), 'output' => $this->baton_conductor_theme_mod['output'], 'output_elements' => array(), 'content_display_type' => 'excerpt', 'widget_size' => 'flexbox', 'post_thumbnails_size' => $this->baton_conductor_theme_mod['post_thumbnails_size'], 'excerpt_length' => $this->baton_conductor_theme_mod['excerpt_length'] !== 0 ? $this->baton_conductor_theme_mod['excerpt_length'] : $this->defaults['excerpt_length']);
            // Loop through output elements to populate other data
            foreach ($instance['output'] as $priority => $output) {
                // Add this element to the list of output elements (Conductor expects this to exist)
                $instance['output_elements'][$output['id']] = $priority;
                // Post content
                if ($output['id'] === 'post_content') {
                    $instance['content_display_type'] = $output['value'];
                }
            }
            // Query arguments
            $instance['query_args'] = array('posts_per_page' => $instance['posts_per_page'], 'max_num_posts' => '', 'offset' => 0, 'post__in' => false, 'post__not_in' => false);
            // Conductor instance filter (second parameter would be widget args in Conductor)
            return apply_filters('baton_conductor_instance', $instance, array(), $this);
        }
    }
    /**
     * Create an instance of the Baton_Conductor_Query class.
     */
    function Baton_Conductor_Instance()
    {
        return Baton_Conductor::instance();
    }
    // Starts Baton Conductor
    Baton_Conductor_Instance();
}
コード例 #4
0
ファイル: functions.php プロジェクト: sdsweb/baton
/**
 * This determines if Baton Conductor is enabled.
 */
function baton_is_baton_conductor_enabled()
{
    // Grab the Baton_Conductor instance
    $baton_conductor = Baton_Conductor_Instance();
    return $baton_conductor->is_baton_conductor_enabled();
}