WordPress.org

Make WordPress Core

Ticket #25621: 25621.3.diff

File 25621.3.diff, 12.2 KB (added by kpdesign, 7 years ago)

Third pass

  • src/wp-includes/post-template.php

     
    107107
    108108        if ( ! is_admin() ) {
    109109                if ( ! empty( $post->post_password ) ) {
     110                        /**
     111                         * Filter the text which prepends the post title for protected posts.
     112                         *
     113                         * This filter is only applied on the front end.
     114                         *
     115                         * @since 2.8.0
     116                         *
     117                         * @param string $prepend Text displayed before the post title.
     118                         *                        Default 'Protected: %s'.
     119                         */
    110120                        $protected_title_format = apply_filters( 'protected_title_format', __( 'Protected: %s' ) );
    111121                        $title = sprintf( $protected_title_format, $title );
    112122                } else if ( isset( $post->post_status ) && 'private' == $post->post_status ) {
     123                        /**
     124                         * Filter the text which prepends the post title of private posts.
     125                         *
     126                         * This filter is only applied on the front end.
     127                         *
     128                         * @since 2.8.0
     129                         *
     130                         * @param string $prepend Text displayed before the post title.
     131                         *                        Default 'Private: %s'.
     132                         */
    113133                        $private_title_format = apply_filters( 'private_title_format', __( 'Private: %s' ) );
    114134                        $title = sprintf( $private_title_format, $title );
    115135                }
    116136        }
    117137
     138        /**
     139         * Filter the post title.
     140         *
     141         * @since 0.71
     142         *
     143         * @param string $title The post title.
     144         * @param int    $id    The post ID.
     145         */
    118146        return apply_filters( 'the_title', $title, $id );
    119147}
    120148
     
    150178function get_the_guid( $id = 0 ) {
    151179        $post = get_post($id);
    152180
    153         return apply_filters('get_the_guid', $post->guid);
     181        /**
     182         * Filter the Global Unique Identifier (guid) of the post.
     183         *
     184         * @since 1.5.0
     185         *
     186         * @param string $post_guid Global Unique Identifier (guid) of the post.
     187         */
     188        return apply_filters( 'get_the_guid', $post->guid );
    154189}
    155190
    156191/**
     
    163198 */
    164199function the_content( $more_link_text = null, $strip_teaser = false) {
    165200        $content = get_the_content( $more_link_text, $strip_teaser );
     201
     202        /**
     203         * Filter the post content.
     204         *
     205         * @since 0.71
     206         *
     207         * @param string $content Content of the current post.
     208         */
    166209        $content = apply_filters( 'the_content', $content );
    167210        $content = str_replace( ']]>', ']]>', $content );
    168211        echo $content;
     
    221264                        $output .= '<span id="more-' . $post->ID . '"></span>' . $content[1];
    222265                } else {
    223266                        if ( ! empty( $more_link_text ) )
     267
     268                                /**
     269                                 * Filter the Read More link text.
     270                                 *
     271                                 * @since 2.8.0
     272                                 *
     273                                 * @param string $more_link_element Read More link element.
     274                                 * @param string $more_link_text    Read More text.
     275                                 */
    224276                                $output .= apply_filters( 'the_content_more_link', ' <a href="' . get_permalink() . "#more-{$post->ID}\" class=\"more-link\">$more_link_text</a>", $more_link_text );
    225277                        $output = force_balance_tags( $output );
    226278                }
     
    251303 * @uses apply_filters() Calls 'the_excerpt' hook on post excerpt.
    252304 */
    253305function the_excerpt() {
    254         echo apply_filters('the_excerpt', get_the_excerpt());
     306
     307        /**
     308         * Filter the displayed post excerpt.
     309         *
     310         * @since 0.71
     311         *
     312         * @param string $post_excerpt The post excerpt.
     313         */
     314        echo apply_filters( 'the_excerpt', get_the_excerpt() );
    255315}
    256316
    257317/**
     
    272332                return __( 'There is no excerpt because this is a protected post.' );
    273333        }
    274334
     335        /**
     336         * Filter the retrieved post excerpt.
     337         *
     338         * @since 1.2.0
     339         *
     340         * @param string $post_excerpt The post excerpt.
     341         */
    275342        return apply_filters( 'get_the_excerpt', $post->post_excerpt );
    276343}
    277344
     
    384451
    385452        $classes = array_map('esc_attr', $classes);
    386453
    387         return apply_filters('post_class', $classes, $class, $post->ID);
     454        /**
     455         * Filter the CSS classes for the current post.
     456         *
     457         * @since 2.7.0
     458         *
     459         * @param array  $classes An array of post classes.
     460         * @param string $class   A comma-separated list of additional classes added to the post.
     461         * @param int    $post_id The post ID.
     462         */
     463        return apply_filters( 'post_class', $classes, $class, $post->ID );
    388464}
    389465
    390466/**
     
    568644
    569645        $classes = array_map( 'esc_attr', $classes );
    570646
     647        /**
     648         * Filter the returned CSS classes for the body of the current post or page.
     649         *
     650         * @since 2.8.0
     651         *
     652         * @param array  $classes An array of body classes.
     653         * @param string $class   A comma-separated list of additional classes added to the body.
     654         */
    571655        return apply_filters( 'body_class', $classes, $class );
    572656}
    573657
     
    652736        );
    653737
    654738        $r = wp_parse_args( $args, $defaults );
     739
     740        /**
     741         * Filter the arguments used in retrieving page links for paginated posts.
     742         *
     743         * @since 3.0.0
     744         *
     745         * @param array $r An array of output format arguments.
     746         */
    655747        $r = apply_filters( 'wp_link_pages_args', $r );
    656748        extract( $r, EXTR_SKIP );
    657749
     
    665757                                $link = $link_before . str_replace( '%', $i, $pagelink ) . $link_after;
    666758                                if ( $i != $page || ! $more && 1 == $page )
    667759                                        $link = _wp_link_page( $i ) . $link . '</a>';
     760
     761                                /**
     762                                 * Filter the HTML output of individual page number links.
     763                                 *
     764                                 * @since 3.6.0
     765                                 *
     766                                 * @param string $link The page number HTML output.
     767                                 * @param int    $i    Page number for paginated posts' page links.
     768                                 */
    668769                                $link = apply_filters( 'wp_link_pages_link', $link, $i );
    669770                                $output .= $separator . $link;
    670771                        }
     
    674775                        $i = $page - 1;
    675776                        if ( $i ) {
    676777                                $link = _wp_link_page( $i ) . $link_before . $previouspagelink . $link_after . '</a>';
     778
     779                                /** This filter is documented in wp-includes/post-template.php */
    677780                                $link = apply_filters( 'wp_link_pages_link', $link, $i );
    678781                                $output .= $separator . $link;
    679782                        }
     
    680783                        $i = $page + 1;
    681784                        if ( $i <= $numpages ) {
    682785                                $link = _wp_link_page( $i ) . $link_before . $nextpagelink . $link_after . '</a>';
     786
     787                                /** This filter is documented in wp-includes/post-template.php */
    683788                                $link = apply_filters( 'wp_link_pages_link', $link, $i );
    684789                                $output .= $separator . $link;
    685790                        }
     
    687792                }
    688793        }
    689794
     795        /**
     796         * Filter the HTML output of page links for paginated posts.
     797         *
     798         * @since 3.6.0
     799         *
     800         * @param string $output HTML output of paginated posts' page links.
     801         * @param array  $args   An array of arguments.
     802         */
    690803        $output = apply_filters( 'wp_link_pages', $output, $args );
    691804
    692805        if ( $echo )
     
    774887                                continue;
    775888                        $values = array_map('trim', get_post_custom_values($key));
    776889                        $value = implode($values,', ');
    777                         echo apply_filters('the_meta_key', "<li><span class='post-meta-key'>$key:</span> $value</li>\n", $key, $value);
     890
     891                        /**
     892                         * Filter the HTML output of the li element in the post custom fields list.
     893                         *
     894                         * @since 2.2.0
     895                         *
     896                         * @param string $html  The HTML output for the li element.
     897                         * @param string $key   The meta data key.
     898                         * @param string $value The meta data value.
     899                         */
     900                        echo apply_filters( 'the_meta_key', "<li><span class='post-meta-key'>$key:</span> $value</li>\n", $key, $value );
    778901                }
    779902                echo "</ul>\n";
    780903        }
     
    820943                $output .= "</select>\n";
    821944        }
    822945
    823         $output = apply_filters('wp_dropdown_pages', $output);
     946        /**
     947         * Filter the HTML output of a list of pages as a drop down.
     948         *
     949         * @since 2.1.0
     950         *
     951         * @param string $output HTML output for drop down list of pages.
     952         */
     953        $output = apply_filters( 'wp_dropdown_pages', $output );
    824954
    825955        if ( $echo )
    826956                echo $output;
     
    857987
    858988        // Allow plugins to filter an array of excluded pages (but don't put a nullstring into the array)
    859989        $exclude_array = ( $r['exclude'] ) ? explode(',', $r['exclude']) : array();
    860         $r['exclude'] = implode( ',', apply_filters('wp_list_pages_excludes', $exclude_array) );
    861990
     991        /**
     992         * Filter the array of excluded pages for wp_list_pages().
     993         *
     994         * @since 2.1.0
     995         *
     996         * @param array $exclude_array An array of page IDs to exclude.
     997         */
     998        $r['exclude'] = implode( ',', apply_filters( 'wp_list_pages_excludes', $exclude_array ) );
     999
    8621000        // Query pages.
    8631001        $r['hierarchical'] = 0;
    8641002        $pages = get_pages($r);
     
    8761014                        $output .= '</ul></li>';
    8771015        }
    8781016
    879         $output = apply_filters('wp_list_pages', $output, $r);
     1017        /**
     1018         * Filters the HTML output of the link list of WordPress pages.
     1019         *
     1020         * @since 1.5.1
     1021         *
     1022         * @see wp_list_pages()
     1023         *
     1024         * @param string $output HTML output of the pages list.
     1025         * @param array  $r      An array of arguments.
     1026         */
     1027        $output = apply_filters( 'wp_list_pages', $output, $r );
    8801028
    8811029        if ( $r['echo'] )
    8821030                echo $output;
     
    9131061function wp_page_menu( $args = array() ) {
    9141062        $defaults = array('sort_column' => 'menu_order, post_title', 'menu_class' => 'menu', 'echo' => true, 'link_before' => '', 'link_after' => '');
    9151063        $args = wp_parse_args( $args, $defaults );
     1064
     1065        /**
     1066         * Filter the arguments passed to wp_page_menu().
     1067         *
     1068         * @since 2.7.0
     1069         *
     1070         * @see wp_page_menu()
     1071         *
     1072         * @param array $args An array of arguments.
     1073         */
    9161074        $args = apply_filters( 'wp_page_menu_args', $args );
    9171075
    9181076        $menu = '';
     
    9481106                $menu = '<ul>' . $menu . '</ul>';
    9491107
    9501108        $menu = '<div class="' . esc_attr($args['menu_class']) . '">' . $menu . "</div>\n";
     1109
     1110        /**
     1111         * Filter the HTML output and arguments of wp_page_menu().
     1112         *
     1113         * @since 2.7.0
     1114         *
     1115         * @see wp_page_menu()
     1116         *
     1117         * @param string $menu The HTML output.
     1118         * @param array  $args An array of arguments.
     1119         */
    9511120        $menu = apply_filters( 'wp_page_menu', $menu, $args );
    9521121        if ( $args['echo'] )
    9531122                echo $menu;
     
    10801249                        $css_class[] = 'current_page_parent';
    10811250                }
    10821251
     1252                /**
     1253                 * Filter the class attribute of the li element in a list of WordPress pages.
     1254                 *
     1255                 * @since 2.8.0
     1256                 *
     1257                 * @see wp_list_pages()
     1258                 *
     1259                 * @param array  $css_class    An array of CSS classes to be applied
     1260                 *                             to each list item.
     1261                 * @param object $page         Page data object.
     1262                 * @param int    $depth        Depth of page, used for padding.
     1263                 * @param array  $args         An array of arguments.
     1264                 * @param int    $current_page ID of the current page.
     1265                 */
    10831266                $css_class = implode( ' ', apply_filters( 'page_css_class', $css_class, $page, $depth, $args, $current_page ) );
    10841267
    10851268                if ( '' === $page->post_title )
     
    11581341                        $title = sprintf( __( '#%d (no title)' ), $page->ID );
    11591342                }
    11601343
     1344                /**
     1345                 * Filter the page title when creating an HTML drop down list of pages.
     1346                 *
     1347                 * @since 3.1.0
     1348                 *
     1349                 * @param string $title Page title.
     1350                 * @param object $page  Page data object.
     1351                 */
    11611352                $title = apply_filters( 'list_pages', $title, $page );
    11621353                $output .= $pad . esc_html( $title );
    11631354                $output .= "</option>\n";
     
    12231414        if ( trim( $link_text ) == '' )
    12241415                $link_text = $_post->post_title;
    12251416
     1417        /**
     1418         * Filter a retrieved attachment page link.
     1419         *
     1420         * @since 2.7.0
     1421         *
     1422         * @param string      $link_html The page link HTML output.
     1423         * @param int         $id        Post ID.
     1424         * @param string      $size      Image size. Default 'thumbnail'.
     1425         * @param bool        $permalink Whether to add permalink to image. Default false.
     1426         * @param bool        $icon      Whether to include an icon. Default false.
     1427         * @param string|bool $text      If string, will be link text. Default false.
     1428         */
    12261429        return apply_filters( 'wp_get_attachment_link', "<a href='$url'>$link_text</a>", $id, $size, $permalink, $icon, $text );
    12271430}
    12281431
     
    12451448        // show the medium sized image representation of the attachment if available, and link to the raw file
    12461449        $p .= wp_get_attachment_link(0, 'medium', false);
    12471450        $p .= '</p>';
    1248         $p = apply_filters('prepend_attachment', $p);
    12491451
     1452        /**
     1453         * Filter the attachment markup to be prepended to the post content.
     1454         *
     1455         * @since 2.0.0
     1456         *
     1457         * @see prepend_attachment()
     1458         *
     1459         * @param string $p The attachment HTML output.
     1460         */
     1461        $p = apply_filters( 'prepend_attachment', $p );
     1462
    12501463        return "$p\n$content";
    12511464}
    12521465
     
    12691482        <p>' . __( 'This content is password protected. To view it please enter your password below:' ) . '</p>
    12701483        <p><label for="' . $label . '">' . __( 'Password:' ) . ' <input name="post_password" id="' . $label . '" type="password" size="20" /></label> <input type="submit" name="Submit" value="' . esc_attr__( 'Submit' ) . '" /></p></form>
    12711484        ';
     1485
     1486        /**
     1487         * Filter the HTML output for the protected post password form.
     1488         *
     1489         * @since 2.7.0
     1490         *
     1491         * @param string $output The password form HTML output.
     1492         */
    12721493        return apply_filters( 'the_password_form', $output );
    12731494}
    12741495