WordPress.org

Ready to get started?Download WordPress

Forums

Content Aware Sidebars
[resolved] Autosave creating bogus sidebars (9 posts)

  1. marfarma
    Member
    Posted 2 years ago #

    Autosave is enabled on my site, and so, even though sidebars don't support revisions, revisions are being saved, and bogus sidebars are the result.

    I'm about to test this code as a fix:

    public function __construct() {
    
    [ ... ]
        add_action('admin_enqueue_scripts', array(&$this,'admin_disable_autosave') );
    
    [ ... ]
    }
    
    function admin_disable_autosave( $pagehook ) {
        global $post_type, $current_screen;
        if($post_type == 'wp_announcements')
          wp_deregister_script( 'autosave' );
    }

    I'll report back if I find it's not correct. After I figure out how to get rid of the existing bogus revisions/sidebars!

  2. marfarma
    Member
    Posted 2 years ago #

    Of course that should read

    if($post_type == 'sidebars')
          wp_deregister_script( 'autosave' );
  3. marfarma
    Member
    Posted 2 years ago #

    Well that doesn't work.

    I'll have to disable auto-save for the moment - I can live without it better than I can with Auto Draft sidebars being created at random.

    Any suggestion to prevent sidebars from being created as Auto Draft?

  4. Joachim Jensen (Intox Studio)
    Member
    Plugin Author

    Posted 2 years ago #

    I have not seen any revisions of sidebars in my database. Are you experiencing them or is it just Auto Draft?

    You can try to insert the following in wp-config:

    define('AUTOSAVE_INTERVAL', 60);
    define('WP_POST_REVISIONS', false );

    This will affect all post types though. I'm not even sure this would make the Auto Drafts not to show up anymore, but I know that there are some plugins out there that can help you optimize and maintain your database tables.

    However, the Auto Drafts should not cause any problems in the plugin itself as they are never pulled from the database.

  5. marfarma
    Member
    Posted 2 years ago #

    Auto Drafts are pulled from the database in my case: Screen Shot

    Additional discussion here: http://wprocks.com/forums/comments.php?DiscussionID=2155

    The following code change fixed it.

    /**
    	 *
    	 * Create sidebars from content types
    	 *
    	 */
    	public function create_sidebars() {
    		$posts = get_posts(array(
    			'numberposts'	=> 0,
    			'post_type'	=> 'sidebar',
    			'post_status'	=> array('publish','private','future')
    		));
    		foreach($posts as $post)
    		  if ('Auto Draft' != $post->post_title)
      			register_sidebar( array(
      				'name'		=> $post->post_title,
      				'description'	=> $post->post_excerpt,
      				'id'		=> 'ca-sidebar-'.$post->ID,
      				'before_widget'	=> '<li id="%1$s" class="widget-container %2$s">',
      				'after_widget'	=> '</li>',
      				'before_title'	=> '<h3 class="widget-title">',
      				'after_title'	=> '</h3>',
      			));
    	}
  6. Joachim Jensen (Intox Studio)
    Member
    Plugin Author

    Posted 2 years ago #

    Now look at that. Have you had a look in the database? As you can see on the code, only published, private and scheduled sidebars should be pulled out. So my guess is that your Auto Draft somehow is in one of those states.

    What version of WordPress are you using? And is it possible for you to remove these custom sidebars in the administration?

    I'ts a dirty little fix you've made, and I'm not sure that it will make it to a release, but if it works for you then it wouldn't be any harm either.

  7. marfarma
    Member
    Posted 2 years ago #

    What's really weird is that the post_status is 'auto-draft'

    I'm on 3.1.4 -- I guess there's a bug there for custom post types.

    No can't delete them from the admin - only via direct mysql access.

  8. Joachim Jensen (Intox Studio)
    Member
    Plugin Author

    Posted 2 years ago #

    Maybe WP 3.1 does not support arrays as post_status for get_posts. Would be odd though... Try changing it to 'publish' and see if that solves the problem.

  9. marfarma
    Member
    Posted 2 years ago #

    I deleted them already.

    I'm happy enough with my hack for now. I'll upgrade to 3.2.1 as soon as I can confirm that all my plugins are supported. That's what's held me back so far.

Topic Closed

This topic has been closed to new replies.

About this Plugin

About this Topic