WordPress.org

Ready to get started?Download WordPress

Forums

Display Widgets
Display widgets with flickrRSS widget (5 posts)

  1. Steffen Jung
    Member
    Posted 1 year ago #

    Hi,

    Display widgets is not working for "flickrRSS widget". There are no options at the end of this widget. Any idea why it is working for every widget, except flickrRSS?

    Here you can find further info with image:
    https://dl.dropbox.com/u/16329292/flickrrss-widget-problem.jpg

    Any hint is welcome.

    Thanks,
    Steffen

    http://wordpress.org/extend/plugins/flickr-rss/

    http://wordpress.org/extend/plugins/display-widgets/

  2. Luke Mlsna
    Member
    Posted 1 year ago #

    This plugin is improperly namespaced. You need to figure out what HTML inputs this plugin is overwriting in the widget setup area and rename them in one of the two plugins.

  3. Steffen Jung
    Member
    Posted 1 year ago #

    Can you please explain a little bit more or where can I find more information about that issue? Thank you very much for your feedback at all!

  4. Luke Mlsna
    Member
    Posted 1 year ago #

    It should be namespaced liked this.

    <?php
    /*
    Plugin Name: Display widgets
    Plugin URI: http://strategy11.com/display-widgets/
    Description: Adds checkboxes to each widget to show or hide on site pages.
    Author: Strategy11
    Author URI: http://strategy11.com
    Version: 1.22
    */
    
    load_plugin_textdomain( 'display-widgets', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
    
    add_filter('widget_display_callback', 'show_dw_widget');
    add_action('in_widget_form', 'dw_show_hide_widget_options', 10, 3);
    add_filter('widget_update_callback', 'dw_update_widget_options', 10, 3);
    
    function show_dw_widget($instance){
        global $wp_query;
        $post_id = $wp_query->get_queried_object_id();
        $post_id = dw_get_lang_id($post_id, 'page');
    
        if (is_home()){
            $show = isset($instance['displaywidget-page-home']) ? ($instance['displaywidget-page-home']) : false;
        }else if (is_front_page()){
            $show = isset($instance['displaywidget-page-front']) ? ($instance['displaywidget-page-front']) : false;
        }else if (is_category()){
            $show = isset($instance['displaywidget-cat-'. get_query_var('cat')]) ? ($instance['displaywidget-cat-'. get_query_var('cat')]) : false;
        }else if(is_tax()){
            $term = get_queried_object();
            $show = isset($instance['displaywidget-tax-'. $term->taxonomy]) ? ($instance['displaywidget-tax-'. $term->taxonomy]) : false;
            unset($term);
        }else if (is_archive()){
            $show = isset($instance['displaywidget-page-archive']) ? ($instance['displaywidget-page-archive']) : false;
        }else if (is_single()){
            if(function_exists('get_post_type')){
                $type = get_post_type();
                if($type != 'page' and $type != 'post')
                    $show = isset($instance['displaywidget-type-'. $type]) ? ($instance['displaywidget-type-'. $type]) : false;
            }
    
            if(!isset($show))
                $show = isset($instance['displaywidget-page-single']) ? ($instance['displaywidget-page-single']) : false;
    
            if (!$show){
                $cats = get_the_category();
                foreach($cats as $cat){
                    if ($show) continue;
                    $cat_id = dw_get_lang_id($cat->cat_ID, 'category');
                    if (isset($instance['displaywidget-cat-'. $cat_id]))
                        $show = $instance['displaywidget-cat-'. $cat_id];
                }
            }
        }else if (is_404()){
            $show = isset($instance['displaywidget-page-404']) ? ($instance['displaywidget-page-404']) : false;
        }else if (is_search()){
            $show = isset($instance['displaywidget-page-search']) ? ($instance['displaywidget-page-search']) : false;
        }else if($post_id){
            $show = isset($instance['displaywidget-page-'. $post_id]) ? ($instance['displaywidget-page-'. $post_id]) : false;
        }
    
        if ($post_id and !$show and isset($instance['displaywidget-other_ids']) and !empty($instance['displaywidget-other_ids'])){
            $other_ids = explode(',', $instance['displaywidget-other_ids']);
            foreach($other_ids as $other_id){
                if($post_id == (int)$other_id)
                    $show = true;
            }
        }
    
        if(defined('ICL_LANGUAGE_CODE'))
            $show = isset($instance['displaywidget-lang-'. ICL_LANGUAGE_CODE]) ? ($instance['displaywidget-lang-'. ICL_LANGUAGE_CODE]) : false;
    
        if(!isset($show))
            $show = false;
    
        $instance['displaywidget-dw_include'] = isset($instance['displaywidget-dw_include']) ? $instance['displaywidget-dw_include'] : (isset($instance['displaywidget-include']) ? $instance['displaywidget-include'] : 0);
    
        if (($instance['displaywidget-dw_include'] and $show == false) or ($instance['displaywidget-dw_include'] == 0 and $show)){
            return false;
        }else{
            global $user_ID;
            if( (isset($instance['displaywidget-logout']) and $instance['displaywidget-logout'] and $user_ID) or
                (isset($instance['displaywidget-login']) and $instance['displaywidget-login'] and !$user_ID))
                return false;
    
        }
    	return $instance;
    }
    
    function dw_show_hide_widget_options($widget, $return, $instance){
        dw_register_globals();
    
        global $dw_pages, $dw_cats, $dw_taxes, $dw_cposts, $dw_checked, $dw_loaded, $dw_langs;
    
        $wp_page_types = array(
            'front' => __('Front', 'display-widgets'),
            'home' => __('Blog', 'display-widgets'),
            'archive' => __('Archives', 'display-widgets'),
            'single' => __('Single Post', 'display-widgets'),
            '404' => '404', 'search' => __('Search', 'display-widgets')
        );
    
        $instance['displaywidget-dw_include'] = isset($instance['displaywidget-dw_include']) ? $instance['displaywidget-dw_include'] : (isset($instance['displaywidget-include']) ? $instance['displaywidget-include'] : 0);
        $instance['displaywidget-logout'] = isset($instance['displaywidget-logout']) ? $instance['displaywidget-logout'] : 0;
        $instance['displaywidget-login'] = isset($instance['displaywidget-login']) ? $instance['displaywidget-login'] : 0;
        $instance['displaywidget-other_ids'] = isset($instance['displaywidget-other_ids']) ? $instance['displaywidget-other_ids'] : '';
    ?>
         <p>
        	<label for="<?php echo $widget->get_field_id('dw_include'); ?>"><?php _e('Show/Hide Widget', 'display-widgets') ?></label>
        	<select name="<?php echo $widget->get_field_name('dw_include'); ?>" id="<?php echo $widget->get_field_id('dw_include'); ?>" class="widefat">
                <option value="0"><?php _e('Hide on checked', 'display-widgets') ?></option>
                <option value="1" <?php echo selected( $instance['displaywidget-dw_include'], 1 ) ?>><?php _e('Show on checked', 'display-widgets') ?></option>
            </select>
        </p>    
    
    <div style="height:150px; overflow:auto; border:1px solid #dfdfdf;">
        <p><input class="checkbox" type="checkbox" <?php checked($instance['displaywidget-logout'], true) ?> id="<?php echo $widget->get_field_id('logout'); ?>" name="<?php echo $widget->get_field_name('logout'); ?>" value="1" />
        <label for="<?php echo $widget->get_field_id('logout'); ?>"><?php _e('Show only for Logged-out users', 'display-widgets') ?></label></p>
        <p><input class="checkbox" type="checkbox" <?php checked($instance['displaywidget-login'], true) ?> id="<?php echo $widget->get_field_id('login'); ?>" name="<?php echo $widget->get_field_name('login'); ?>" value="1" />
        <label for="<?php echo $widget->get_field_id('login'); ?>"><?php _e('Show only for Logged-in users', 'display-widgets') ?></label></p>
    
        <h4 onclick="dw_toggle(jQuery(this))" style="cursor:pointer;"><?php _e('Miscellaneous', 'display-widgets') ?> +/-</h4>
        <div class="dw_collapse">
        <?php foreach ($wp_page_types as $key => $label){
            $instance['displaywidget-page-'. $key] = isset($instance['displaywidget-page-'. $key]) ? $instance['displaywidget-page-'. $key] : false;
        ?>
            <p><input class="checkbox" type="checkbox" <?php checked($instance['displaywidget-page-'. $key], true) ?> id="<?php echo $widget->get_field_id('page-'. $key); ?>" name="<?php echo $widget->get_field_name('page-'. $key); ?>" />
            <label for="<?php echo $widget->get_field_id('page-'. $key); ?>"><?php echo $label .' '. __('Page', 'display-widgets') ?></label></p>
        <?php } ?>
        </div>
    
        <h4 onclick="dw_toggle(jQuery(this))" style="cursor:pointer;"><?php _e('Pages', 'display-widgets') ?> +/-</h4>
        <div class="dw_collapse">
        <?php foreach ($dw_pages as $page){
            $instance['displaywidget-page-'. $page->ID] = isset($instance['displaywidget-page-'. $page->ID]) ? $instance['displaywidget-page-'. $page->ID] : false;
        ?>
            <p><input class="checkbox" type="checkbox" <?php checked($instance['displaywidget-page-'. $page->ID], true) ?> id="<?php echo $widget->get_field_id('page-'. $page->ID); ?>" name="<?php echo $widget->get_field_name('page-'. $page->ID); ?>" />
            <label for="<?php echo $widget->get_field_id('page-'. $page->ID); ?>"><?php echo $page->post_title ?></label></p>
        <?php	}  ?>
        </div>
    
        <?php if(isset($dw_cposts) and !empty($dw_cposts)){ ?>
        <h4 onclick="dw_toggle(jQuery(this))" style="cursor:pointer;"><?php _e('Custom Post Types', 'display-widgets') ?> +/-</h4>
        <div class="dw_collapse">
        <?php foreach ($dw_cposts as $post_key => $custom_post){
            $instance['displaywidget-type-'. $post_key] = isset($instance['displaywidget-type-'. $post_key]) ? $instance['displaywidget-type-'. $post_key] : false;
        ?>
            <p><input class="checkbox" type="checkbox" <?php checked($instance['displaywidget-type-'. $post_key], true) ?> id="<?php echo $widget->get_field_id('type-'. $post_key); ?>" name="<?php echo $widget->get_field_name('type-'. $post_key); ?>" />
            <label for="<?php echo $widget->get_field_id('type-'. $post_key); ?>"><?php echo stripslashes($custom_post->labels->name) ?></label></p>
        <?php } ?>
        </div>
        <?php } ?>
    
        <h4 onclick="dw_toggle(jQuery(this))" style="cursor:pointer;"><?php _e('Categories', 'display-widgets') ?> +/-</h4>
        <div class="dw_collapse">
        <?php foreach ($dw_cats as $cat){
            $instance['displaywidget-cat-'. $cat->cat_ID] = isset($instance['displaywidget-cat-'. $cat->cat_ID]) ? $instance['displaywidget-cat-'. $cat->cat_ID] : false;
        ?>
            <p><input class="checkbox" type="checkbox" <?php checked($instance['displaywidget-cat-'. $cat->cat_ID], true) ?> id="<?php echo $widget->get_field_id('cat-'. $cat->cat_ID); ?>" name="<?php echo $widget->get_field_name('cat-'. $cat->cat_ID); ?>" />
            <label for="<?php echo $widget->get_field_id('cat-'. $cat->cat_ID); ?>"><?php echo $cat->cat_name ?></label></p>
        <?php
            unset($cat);
            }
        ?>
        </div>
    
        <?php if(!empty($dw_taxes)){ ?>
        <h4 onclick="dw_toggle(jQuery(this))" style="cursor:pointer;"><?php _e('Taxonomies', 'display-widgets') ?> +/-</h4>
        <div class="dw_collapse">
        <?php foreach ($dw_taxes as $tax){
            $instance['displaywidget-tax-'. $tax] = isset($instance['displaywidget-tax-'. $tax]) ? $instance['displaywidget-tax-'. $tax] : false;
        ?>
            <p><input class="checkbox" type="checkbox" <?php checked($instance['displaywidget-tax-'. $tax], true) ?> id="<?php echo $widget->get_field_id('tax-'. $tax); ?>" name="<?php echo $widget->get_field_name('tax-'. $tax); ?>" />
            <label for="<?php echo $widget->get_field_id('tax-'. $tax); ?>"><?php echo str_replace(array('_','-'), ' ', ucfirst($tax)) ?></label></p>
        <?php
            unset($tax);
            }
        ?>
        </div>
        <?php } ?>
    
        <?php if(isset($dw_langs) and !empty($dw_langs)){ ?>
        <h4 onclick="dw_toggle(jQuery(this))" style="cursor:pointer;"><?php _e('Languages', 'display-widgets') ?> +/-</h4>
        <div class="dw_collapse">
        <?php foreach($dw_langs as $lang){
    		$key = $lang['language_code'];
         	$instance['displaywidget-lang-'. $key] = isset($instance['displaywidget-lang-'. $key]) ? $instance['displaywidget-lang-'. $key] : false;
        ?>
            <p><input class="checkbox" type="checkbox" <?php checked($instance['displaywidget-lang-'. $key], true) ?> id="<?php echo $widget->get_field_id('lang-'. $key); ?>" name="<?php echo $widget->get_field_name('lang-'. $key); ?>" />
            <label for="<?php echo $widget->get_field_id('lang-'. $key); ?>"><?php echo $lang['native_name'] ?></label></p>
    
        <?php
            unset($lang);
            unset($key);
            }
        ?>
        </div>
        <?php } ?>
    
        <p><label for="<?php echo $widget->get_field_id('other_ids'); ?>"><?php _e('Comma Separated list of IDs of posts not listed above', 'display-widgets') ?>:</label>
        <input type="text" value="<?php echo $instance['displaywidget-other_ids'] ?>" name="<?php echo $widget->get_field_name('other_ids'); ?>" id="<?php echo $widget->get_field_id('other_ids'); ?>" />
        </p>
        </div>
    <?php if(!$dw_loaded){ ?>
    <script type="text/javascript">function dw_toggle($this){$this.next('.dw_collapse').toggle();}</script>
    <?php
            $dw_loaded = true;
        }
    }
    
    function dw_update_widget_options($instance, $new_instance, $old_instance){
        dw_register_globals();
    
        global $dw_pages, $dw_cats, $dw_taxes, $dw_cposts, $dw_checked, $dw_langs;
    
        if($dw_pages){
            foreach ($dw_pages as $page){
                $instance['displaywidget-page-'. $page->ID] = isset($new_instance['displaywidget-page-'. $page->ID]) ? 1 : 0;
                unset($page);
            }
        }
    
        foreach ($dw_cats as $cat){
            $instance['displaywidget-cat-'. $cat->cat_ID] = isset($new_instance['displaywidget-cat-'. $cat->cat_ID]) ? 1 : 0;
            unset($cat);
        }
    
        if($dw_cposts){
            foreach ($dw_cposts as $post_key => $custom_post){
                $instance['displaywidget-type-'. $post_key] = isset($new_instance['displaywidget-type-'. $post_key]) ? 1 : 0;
                unset($custom_post);
            }
        }
    
        if($dw_taxes){
            foreach ($dw_taxes as $tax){
                $instance['displaywidget-tax-'. $tax] = isset($new_instance['displaywidget-tax-'. $tax]) ? 1 : 0;
                unset($tax);
            }
        }
    
        if($dw_langs){
            foreach($dw_langs as $lang){
                $instance['displaywidget-lang-'. $lang['language_code']] = isset($new_instance['displaywidget-lang-'. $lang['language_code']   ]) ? 1 : 0;
                unset($lang);
            }
        }
    
        $instance['displaywidget-dw_include'] = $new_instance['displaywidget-dw_include'] ? 1 : 0;
        $instance['displaywidget-logout'] = isset($new_instance['displaywidget-logout']) ? $new_instance['displaywidget-logout'] : 0;
        $instance['displaywidget-login'] = isset($new_instance['displaywidget-login']) ? $new_instance['displaywidget-login'] : 0;
        $instance['displaywidget-other_ids'] = $new_instance['displaywidget-other_ids'] ? $new_instance['displaywidget-other_ids'] : '';
    
        foreach(array('front', 'home', 'archive', 'single', '404', 'search') as $page)
            $instance['displaywidget-page-'. $page] = isset($new_instance['displaywidget-page-'. $page]) ? 1 : 0;
    
        return $instance;
    }
    
    function dw_register_globals(){
        global $dw_pages, $dw_cats, $dw_taxes, $dw_cposts, $dw_checked, $dw_langs;
    
        if(!$dw_checked){
            if(!$dw_pages)
                $dw_pages = get_posts( array(
                    'post_type' => 'page', 'post_status' => 'publish',
                    'numberposts' => -1, 'orderby' => 'title', 'order' => 'ASC'
                ));
    
            if(!$dw_cats)
                $dw_cats = get_categories(array('hide_empty' => false));    
    
            if(!$dw_cposts and function_exists('get_post_types')){
                $dw_cposts = get_post_types(array(), 'object');
                foreach(array('revision','post','page','attachment','nav_menu_item') as $unset)
                    unset($dw_cposts[$unset]);
    
                $dw_taxes = array();
    
                foreach($dw_cposts as $c => $type){
                    $post_taxes = get_object_taxonomies($c);
                    foreach($post_taxes as $post_tax)
                        $dw_taxes[] = $post_tax;
                }
            }
    
            if(!$dw_langs and function_exists('icl_get_languages'))
                $dw_langs = icl_get_languages('skip_missing=0&orderby=code');
    
            $dw_checked = true;
        }
    
    }
    
    /* WPML support */
    function dw_get_lang_id($id, $type='page'){
        global $dw_wpml_support;
    
        if(!$dw_wpml_support)
            $dw_wpml_support = (function_exists('icl_object_id')) ? 'true' : 'false';
    
        if($dw_wpml_support == 'true')
            $id = icl_object_id($id, $type, true);
    
        return $id;
    }
    
    //TODO: Add text field that accepts full urls that will be checked under 'else'
  5. sswells
    Member
    Plugin Author

    Posted 1 year ago #

    The naming is not applicable. Please see the FAQ:
    http://wordpress.org/extend/plugins/display-widgets/faq/

Topic Closed

This topic has been closed to new replies.

About this Plugin

About this Topic