WordPress.org

Make WordPress Core

Ticket #7874: 7874.1.diff

File 7874.1.diff, 1.6 KB (added by ShaneF, 6 years ago)
  • query.php

     
    871871        var $is_preview = false; 
    872872 
    873873        /** 
     874         * Set if query is a sticky post. 
     875         * 
     876         * @since 2.7.0 
     877         * @access public 
     878         * @var bool 
     879         */ 
     880        var $is_sticky = false; 
     881 
     882        /** 
    874883         * Set if query returns a page. 
    875884         * 
    876885         * @since 1.5.0 
     
    10891098         */ 
    10901099        function init_query_flags() { 
    10911100                $this->is_single = false; 
     1101                $this->is_sticky = false; 
    10921102                $this->is_page = false; 
    10931103                $this->is_archive = false; 
    10941104                $this->is_date = false; 
     
    23042314                        // Loop over posts and relocate stickies to the front. 
    23052315                        for ( $i = 0; $i < $num_posts; $i++ ) { 
    23062316                                if ( in_array($this->posts[$i]->ID, $sticky_posts) ) { 
     2317                                        // Mark it 'sticky' so is_sticky() returns true 
     2318                                        $this->posts[$i]->is_sticky = true; 
     2319                                        // Gather the data for the sticky post 
    23072320                                        $sticky_post = $this->posts[$i]; 
    23082321                                        // Remove sticky from current position 
    23092322                                        array_splice($this->posts, $i, 1); 
     
    23822395        } 
    23832396 
    23842397        /** 
     2398         * Return if the post is stickyed or not. 
     2399         * 
     2400         * Returns true if post is considered sticky, false if not. 
     2401         * 
     2402         * @since 2.7.0 
     2403         * @access public 
     2404         * @uses $post 
     2405         * @uses do_action() Calls 'sticky_post'. 
     2406         */ 
     2407        function is_sticky() { 
     2408                global $post; 
     2409                if ( $post->is_sticky == 1 ) { 
     2410                        do_action('sticky_post'); 
     2411                        return true; 
     2412                } else { 
     2413                        return false; 
     2414                } 
     2415        } 
     2416 
     2417        /** 
    23852418         * Whether there are more posts available in the loop. 
    23862419         * 
    23872420         * Calls action 'loop_end', when the loop is complete.