示例#1
0
/**
 * Callback for get_settings_field()
 */
function cbnetdppp_setting_callback($option)
{
    $cbnetdppp_options = cbnetdppp_get_options();
    $option_parameters = cbnetdppp_get_option_parameters();
    $optionname = $option['name'];
    $optiontitle = $option['title'];
    $optiondescription = isset($option['description']) ? $option['description'] : '';
    $fieldtype = $option['type'];
    $fieldname = 'plugin_cbnetdppp_options[' . $optionname . ']';
    // Output checkbox form field markup
    if ('checkbox' == $fieldtype) {
        ?>
		<input type="checkbox" name="<?php 
        echo $fieldname;
        ?>
" <?php 
        checked($cbnetdppp_options[$optionname]);
        ?>
 />
		<?php 
    } else {
        if ('radio' == $fieldtype) {
            $valid_options = array();
            $valid_options = $option['valid_options'];
            foreach ($valid_options as $valid_option) {
                ?>
			<input type="radio" name="<?php 
                echo $fieldname;
                ?>
" <?php 
                checked($valid_option['name'] == $cbnetdppp_options[$optionname]);
                ?>
 value="<?php 
                echo $valid_option['name'];
                ?>
" />
			<span>
			<?php 
                echo $valid_option['title'];
                ?>
			<?php 
                if ($valid_option['description']) {
                    ?>
				<span style="padding-left:5px;"><em><?php 
                    echo $valid_option['description'];
                    ?>
</em></span>
			<?php 
                }
                ?>
			</span>
			<br />
			<?php 
            }
        } else {
            if ('select' == $fieldtype) {
                $valid_options = array();
                $valid_options = $option['valid_options'];
                ?>
		<select name="<?php 
                echo $fieldname;
                ?>
">
		<?php 
                foreach ($valid_options as $name => $title) {
                    ?>
			<option <?php 
                    selected($name == $cbnetdppp_options[$optionname]);
                    ?>
 value="<?php 
                    echo $name;
                    ?>
"><?php 
                    echo $title;
                    ?>
</option>
			<?php 
                }
                ?>
		</select>
		<?php 
            } else {
                if ('text' == $fieldtype) {
                    ?>
		<input type="text" name="<?php 
                    echo $fieldname;
                    ?>
" value="<?php 
                    echo wp_filter_nohtml_kses($cbnetdppp_options[$optionname]);
                    ?>
" />
		<?php 
                }
            }
        }
    }
    // Output the setting description
    if ('' != $optiondescription) {
        ?>
		<span class="description"><?php 
        echo $optiondescription;
        ?>
</span>
		<?php 
    }
}
{
    load_plugin_textdomain('cbnetdppp', false, dirname(plugin_basename(__FILE__)) . '/languages/');
}
// Load Plugin textdomain
add_action('plugins_loaded', 'cbnetdppp_load_textdomain');
/**
 * Bootstrap Plugin Options
 */
include plugin_dir_path(__FILE__) . 'options.php';
/**
 * Globalize the variable that holds the Plugin Options
 * 
 * @global	array	$cbnetdppp_options	holds Plugin options
 */
global $cbnetdppp_options;
$cbnetdppp_options = cbnetdppp_get_options();
/**
 * Filter pre_get_posts
 */
function cbnetdppp_filter_pre_get_posts($query)
{
    // Globalize Plugin options
    global $cbnetdppp_options;
    // Only modify the main query
    if ($query->is_main_query()) {
        $context = '';
        // Search results index
        if (is_search()) {
            $context = 'search';
        } else {
            if (is_home()) {