Ejemplo n.º 1
0
/**
 * Populates the parameter selectbox conditionally for the logic shortcode.
 *
 * @since  1.1-beta-2
 * @access private
 * @param array $atts The dependent attributes.
 * @return array The selectbox options.
 */
function _render_sc_logic_param_populate($atts)
{
    $response = array('options' => array(), 'no_options_text' => false, 'description' => false);
    switch ($atts['arg1']) {
        case 'single':
            $response['options'] = render_sc_post_list(array('post_type' => 'post'));
            $response['no_options_text'] = __('No posts available.', 'Render');
            $response['description'] = __('Leave blank to just check if this is any post.', 'Render');
            break;
        case 'page':
            $response['options'] = render_sc_post_list(array('post_type' => 'page'));
            $response['no_options_text'] = __('No pages available.', 'Render');
            $response['description'] = __('Leave blank to just check if this is any page.', 'Render');
            break;
        case 'category':
            $response['options'] = render_sc_term_list(array('taxonomies' => array('category')));
            $response['no_options_text'] = __('No categories available.', 'Render');
            $response['description'] = __('Leave blank to just check if this is any category page.', 'Render');
            break;
        case 'tag':
            $response['options'] = render_sc_term_list(array('taxonomies' => array('post_tag')));
            $response['no_options_text'] = __('No tags available.', 'Render');
            $response['description'] = __('Leave blank to just check if this is any tag page.', 'Render');
            break;
        case 'tax':
            $response['options'] = render_sc_term_list();
            $response['no_options_text'] = __('No taxonomies available.', 'Render');
            $response['description'] = __('Leave blank to just check if this is any taxonomy page.', 'Render');
            break;
        case 'author':
            $response['options'] = render_sc_user_list('edit_posts');
            $response['no_options_text'] = __('No authors available.', 'Render');
            $response['description'] = __('Leave blank to just check if this is any author archive.', 'Render');
            break;
    }
    // Convert the options to HTML
    $response['options'] = !empty($response['options']) ? render_build_options_html($response['options']) : '';
    return $response;
}
Ejemplo n.º 2
0
<?php

/**
 * Contains all Render packaged shortcodes within the Query category.
 *
 * @since      1.0.0
 *
 * @package    Render
 * @subpackage Shortcodes
 */
// Exit if loaded directly
if (!defined('ABSPATH')) {
    die;
}
// Loops through each shortcode and adds it to Render
foreach (array(array('code' => 'render_query', 'function' => '_render_query', 'title' => __('Query', 'Render'), 'description' => __('Outputs a list of posts.', 'Render'), 'tags' => 'data loop', 'atts' => array(array('type' => 'section_break', 'label' => __('Refine Search', 'Render')), 'author' => array('label' => __('Author', 'Render'), 'type' => 'selectbox', 'properties' => array('placeholder' => __('Any author', 'Render'), 'options' => render_sc_user_list('edit_posts'))), 'category' => array('label' => __('Category', 'Render'), 'type' => 'selectbox', 'properties' => array('no_options' => __('No categories available.', 'Render'), 'placeholder' => __('Any category', 'Render'), 'callback' => array('function' => 'render_categories_dropdown'))), 'tag' => array('label' => __('Tag', 'Render'), 'type' => 'selectbox', 'properties' => array('no_options' => __('No tags available.', 'Render'), 'placeholder' => __('-- None --', 'Render'), 'callback' => array('function' => 'render_tags_dropdown'))), 'post_type' => render_sc_attr_template('post_type_list', array()), 'include' => render_sc_attr_template('post_list', array('label' => __('Include', 'Render'), 'properties' => array('multi' => true, 'placeholder' => 'Select an option'), 'conditional' => array('populate' => array('atts' => array('post_type'), 'callback' => 'render_sc_populate_post_type')))), 'exclude' => render_sc_attr_template('post_list', array('label' => __('Exclude', 'Render'), 'properties' => array('multi' => true, 'placeholder' => 'Select an option'), 'conditional' => array('populate' => array('atts' => array('post_type'), 'callback' => 'render_sc_populate_post_type')))), 'numberposts' => array('label' => __('Count', 'Render'), 'description' => __('Max number of posts to show.', 'Render'), 'type' => 'counter', 'default' => 5, 'properties' => array('max' => 50)), array('type' => 'section_break', 'label' => __('Order', 'Render')), 'order' => render_sc_attr_template('post_order'), 'orderby' => render_sc_attr_template('post_orderby'), 'post_status' => array('label' => __('Post Status', 'Render'), 'type' => 'selectbox', 'properties' => array('placeholder' => __('Any status', 'Render'), 'callback' => array('function' => 'get_post_stati')), 'advanced' => true), 'offset' => array('label' => __('Offset', 'Render'), 'description' => __('Start at this many posts in from found posts.', 'Render'), 'type' => 'counter', 'default' => 0, 'properties' => array('max' => 60), 'advanced' => true), 's' => array('label' => __('Search', 'Render'), 'advanced' => true), 'meta_key' => array('label' => __('Meta Key', 'Render'), 'description' => __('The name of the meta key to use the value to search for.', 'Render'), 'advanced' => true), 'meta_value' => array('label' => __('Meta Key', 'Render'), 'description' => __('Only shows posts containing a meta key with this value.', 'Render'), 'advanced' => true, 'conditional' => array('visibility' => array('atts' => array('meta_key' => array('type' => 'NOT EMPTY'))))), 'suppress_filters' => array('label' => __('Suppress Filters', 'Render'), 'description' => __('Suppresses any filters applied to get_posts.', 'Render'), 'type' => 'checkbox', 'advanced' => true)), 'render' => true, 'wrapping' => false)) as $shortcode) {
    $shortcode['category'] = 'query';
    $shortcode['source'] = 'Render';
    render_add_shortcode($shortcode);
    render_add_shortcode_category(array('id' => 'query', 'label' => __('Query', 'Render'), 'icon' => 'dashicons-download'));
}
/**
 * Runs a WP_Query to provide a drop-down of posts.
 *
 * @since  0.3.0
 * @access private
 *
 * @param array $atts The attributes sent to the shortcode.
 *
 * @return string The drop-down HTML.
 */