Linux heracles.o2switch.net 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64
/
home
/
ophq1335
/
www
/
wp-content
/
plugins
/
wp-seopress
/
inc
/
functions
/
//home/ophq1335/www/wp-content/plugins/wp-seopress/inc/functions/options-titles-metas.php
<?php /** * Options Titles Metas * * @package Functions */ defined( 'ABSPATH' ) || exit( 'Please don’t call the plugin directly. Thanks :)' ); require_once ABSPATH . 'wp-admin/includes/plugin.php'; /** * THE Title Tag * * @return string */ function seopress_titles_the_title() { $variables = null; $variables = apply_filters( 'seopress_dyn_variables_fn', $variables ); if ( ! is_array( $variables ) ) { return ''; } $post = $variables['post'] ?? null; $term = $variables['term'] ?? null; $seopress_titles_title_template = $variables['seopress_titles_title_template'] ?? ''; $seopress_titles_description_template = $variables['seopress_titles_description_template'] ?? ''; $seopress_paged = $variables['seopress_paged'] ?? ''; $the_author_meta = $variables['the_author_meta'] ?? ''; $sep = $variables['sep'] ?? ''; $seopress_excerpt = $variables['seopress_excerpt'] ?? ''; $post_category = $variables['post_category'] ?? ''; $post_tag = $variables['post_tag'] ?? ''; $get_search_query = $variables['get_search_query'] ?? ''; $woo_single_cat_html = $variables['woo_single_cat_html'] ?? ''; $woo_single_tag_html = $variables['woo_single_tag_html'] ?? ''; $woo_single_price = $variables['woo_single_price'] ?? ''; $woo_single_price_exc_tax = $variables['woo_single_price_exc_tax'] ?? ''; $woo_single_sku = $variables['woo_single_sku'] ?? ''; $author_bio = $variables['author_bio'] ?? ''; $seopress_get_the_excerpt = $variables['seopress_get_the_excerpt'] ?? ''; $seopress_titles_template_variables_array = $variables['seopress_titles_template_variables_array'] ?? array(); $seopress_titles_template_replace_array = $variables['seopress_titles_template_replace_array'] ?? array(); $seopress_excerpt_length = $variables['seopress_excerpt_length'] ?? ''; $page_id = get_option( 'page_for_posts' ); if ( is_front_page() && is_home() && isset( $post ) && '' === get_post_meta( $post->ID, '_seopress_titles_title', true ) ) { // HOMEPAGE. if ( '' !== seopress_get_service( 'TitleOption' )->getHomeSiteTitle() ) { $seopress_titles_the_title = esc_attr( seopress_get_service( 'TitleOption' )->getHomeSiteTitle() ); $seopress_titles_title_template = str_replace( $seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $seopress_titles_the_title ); } } elseif ( is_front_page() && isset( $post ) && '' === get_post_meta( $post->ID, '_seopress_titles_title', true ) ) { // STATIC HOMEPAGE. if ( '' !== seopress_get_service( 'TitleOption' )->getHomeSiteTitle() ) { $seopress_titles_the_title = esc_attr( seopress_get_service( 'TitleOption' )->getHomeSiteTitle() ); $seopress_titles_title_template = str_replace( $seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $seopress_titles_the_title ); } } elseif ( is_home() && ! empty( get_post_meta( $page_id, '_seopress_titles_title', true ) ) ) { // BLOG PAGE. if ( get_post_meta( $page_id, '_seopress_titles_title', true ) ) { // IS METABOXE. $seopress_titles_the_title = esc_attr( get_post_meta( $page_id, '_seopress_titles_title', true ) ); $seopress_titles_title_template = str_replace( $seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $seopress_titles_the_title ); } } elseif ( is_home() && ( 'posts' === get_option( 'show_on_front' ) ) ) { // YOUR LATEST POSTS. include_once ABSPATH . 'wp-admin/includes/plugin.php'; if ( is_plugin_active( 'polylang/polylang.php' ) || is_plugin_active( 'polylang-pro/polylang.php' ) ) { } if ( '' !== seopress_get_service( 'TitleOption' )->getHomeSiteTitle() ) { $seopress_titles_the_title = esc_attr( seopress_get_service( 'TitleOption' )->getHomeSiteTitle() ); $seopress_titles_title_template = str_replace( $seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $seopress_titles_the_title ); } } elseif ( function_exists( 'bp_is_group' ) && bp_is_group() ) { if ( '' !== seopress_get_service( 'TitleOption' )->getTitleBpGroups() ) { $seopress_titles_the_title = esc_attr( seopress_get_service( 'TitleOption' )->getTitleBpGroups() ); $seopress_titles_title_template = str_replace( $seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $seopress_titles_the_title ); } } elseif ( is_singular() && ! empty( $post ) ) { // IS SINGULAR. // IS BUDDYPRESS ACTIVITY PAGE. if ( function_exists( 'bp_is_current_component' ) && true === bp_is_current_component( 'activity' ) ) { $post->ID = buddypress()->pages->activity->id; } // IS BUDDYPRESS MEMBERS PAGE. if ( function_exists( 'bp_is_current_component' ) && true === bp_is_current_component( 'members' ) ) { $post->ID = buddypress()->pages->members->id; } // IS BUDDYPRESS GROUPS PAGE. if ( function_exists( 'bp_is_current_component' ) && true === bp_is_current_component( 'groups' ) ) { $post->ID = buddypress()->pages->groups->id; } if ( get_post_meta( $post->ID, '_seopress_titles_title', true ) ) { // IS METABOXE. $seopress_titles_the_title = esc_attr( get_post_meta( $post->ID, '_seopress_titles_title', true ) ); preg_match_all( '/%%_cf_(.*?)%%/', $seopress_titles_the_title, $matches ); // custom fields. if ( ! empty( $matches ) ) { $seopress_titles_cf_template_variables_array = array(); $seopress_titles_cf_template_replace_array = array(); foreach ( $matches['0'] as $key => $value ) { $seopress_titles_cf_template_variables_array[] = $value; } foreach ( $matches['1'] as $key => $value ) { $custom_field = wp_trim_words( esc_attr( stripslashes_deep( wp_filter_nohtml_kses( wp_strip_all_tags( strip_shortcodes( get_post_meta( $post->ID, $value, true ), true ) ) ) ) ), $seopress_excerpt_length ); $seopress_titles_cf_template_replace_array[] = apply_filters( 'seopress_titles_custom_field', $custom_field, $value ); } } preg_match_all( '/%%_ct_(.*?)%%/', $seopress_titles_the_title, $matches2 ); // custom terms taxonomy. if ( ! empty( $matches2 ) ) { $seopress_titles_ct_template_variables_array = array(); $seopress_titles_ct_template_replace_array = array(); foreach ( $matches2['0'] as $key => $value ) { $seopress_titles_ct_template_variables_array[] = $value; } foreach ( $matches2['1'] as $key => $value ) { $term = wp_get_post_terms( $post->ID, $value ); if ( ! is_wp_error( $term ) && isset( $term[0] ) ) { $terms = esc_attr( $term[0]->name ); $seopress_titles_ct_template_replace_array[] = apply_filters( 'seopress_titles_custom_tax', $terms, $value ); } } } preg_match_all( '/%%_ucf_(.*?)%%/', $seopress_titles_the_title, $matches3 ); // user meta. if ( ! empty( $matches3 ) ) { $seopress_titles_ucf_template_variables_array = array(); $seopress_titles_ucf_template_replace_array = array(); foreach ( $matches3['0'] as $key => $value ) { $seopress_titles_ucf_template_variables_array[] = $value; } foreach ( $matches3['1'] as $key => $value ) { $user_meta = esc_attr( get_user_meta( get_the_author_meta( 'ID' ), $value, true ) ); $seopress_titles_ucf_template_replace_array[] = apply_filters( 'seopress_titles_user_meta', $user_meta, $value ); } } // Default. $seopress_titles_title_template = str_replace( $seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $seopress_titles_the_title ); // Custom fields. if ( ! empty( $matches ) && ! empty( $seopress_titles_cf_template_variables_array ) && ! empty( $seopress_titles_cf_template_replace_array ) ) { $seopress_titles_title_template = str_replace( $seopress_titles_cf_template_variables_array, $seopress_titles_cf_template_replace_array, $seopress_titles_title_template ); } // Custom terms taxonomy. if ( ! empty( $matches2 ) && ! empty( $seopress_titles_ct_template_variables_array ) && ! empty( $seopress_titles_ct_template_replace_array ) ) { $seopress_titles_title_template = str_replace( $seopress_titles_ct_template_variables_array, $seopress_titles_ct_template_replace_array, $seopress_titles_title_template ); } // User meta. if ( ! empty( $matches3 ) && ! empty( $seopress_titles_ucf_template_variables_array ) && ! empty( $seopress_titles_ucf_template_replace_array ) ) { $seopress_titles_title_template = str_replace( $seopress_titles_ucf_template_variables_array, $seopress_titles_ucf_template_replace_array, $seopress_titles_title_template ); } } else { // DEFAULT GLOBAL. $seopress_titles_single_titles_option = null !== $post ? esc_attr( seopress_get_service( 'TitleOption' )->getSingleCptTitle( $post->ID ) ) : ''; preg_match_all( '/%%_cf_(.*?)%%/', $seopress_titles_single_titles_option, $matches ); // custom fields. if ( ! empty( $matches ) ) { $seopress_titles_cf_template_variables_array = array(); $seopress_titles_cf_template_replace_array = array(); foreach ( $matches['0'] as $key => $value ) { $seopress_titles_cf_template_variables_array[] = $value; } foreach ( $matches['1'] as $key => $value ) { $seopress_titles_cf_template_replace_array[] = wp_trim_words( esc_attr( stripslashes_deep( wp_filter_nohtml_kses( wp_strip_all_tags( strip_shortcodes( get_post_meta( $post->ID, $value, true ), true ) ) ) ) ), $seopress_excerpt_length ); } } preg_match_all( '/%%_ct_(.*?)%%/', $seopress_titles_single_titles_option, $matches2 ); // custom terms taxonomy. if ( ! empty( $matches2 ) ) { $seopress_titles_ct_template_variables_array = array(); $seopress_titles_ct_template_replace_array = array(); foreach ( $matches2['0'] as $key => $value ) { $seopress_titles_ct_template_variables_array[] = $value; } foreach ( $matches2['1'] as $key => $value ) { $term = wp_get_post_terms( $post->ID, $value ); if ( ! is_wp_error( $term ) && isset( $term[0] ) ) { $terms = esc_attr( $term[0]->name ); $seopress_titles_ct_template_replace_array[] = apply_filters( 'seopress_titles_custom_tax', $terms, $value ); } } } preg_match_all( '/%%_ucf_(.*?)%%/', $seopress_titles_single_titles_option, $matches3 ); // user meta. if ( ! empty( $matches3 ) ) { $seopress_titles_ucf_template_variables_array = array(); $seopress_titles_ucf_template_replace_array = array(); foreach ( $matches3['0'] as $key => $value ) { $seopress_titles_ucf_template_variables_array[] = $value; } foreach ( $matches3['1'] as $key => $value ) { $seopress_titles_ucf_template_replace_array[] = esc_attr( get_user_meta( get_the_author_meta( 'ID' ), $value, true ) ); } } // Default. $seopress_titles_title_template = str_replace( $seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $seopress_titles_single_titles_option ); // Custom fields. if ( ! empty( $matches ) && ! empty( $seopress_titles_cf_template_variables_array ) && ! empty( $seopress_titles_cf_template_replace_array ) ) { $seopress_titles_title_template = str_replace( $seopress_titles_cf_template_variables_array, $seopress_titles_cf_template_replace_array, $seopress_titles_title_template ); } // Custom terms taxonomy. if ( ! empty( $matches2 ) && ! empty( $seopress_titles_ct_template_variables_array ) && ! empty( $seopress_titles_ct_template_replace_array ) ) { $seopress_titles_title_template = str_replace( $seopress_titles_ct_template_variables_array, $seopress_titles_ct_template_replace_array, $seopress_titles_title_template ); } // User meta. if ( ! empty( $matches3 ) && ! empty( $seopress_titles_ucf_template_variables_array ) && ! empty( $seopress_titles_ucf_template_replace_array ) ) { $seopress_titles_title_template = str_replace( $seopress_titles_ucf_template_variables_array, $seopress_titles_ucf_template_replace_array, $seopress_titles_title_template ); } } } elseif ( is_post_type_archive() && ! is_search() && ! is_tax() && seopress_get_service( 'TitleOption' )->getArchivesCPTTitle() ) { // IS POST TYPE ARCHIVE (!is_tax required for TEC, !is_search required for WC search box). $seopress_titles_archive_titles_option = esc_attr( seopress_get_service( 'TitleOption' )->getArchivesCPTTitle() ); $seopress_titles_title_template = str_replace( $seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $seopress_titles_archive_titles_option ); } elseif ( ( is_tax() || is_category() || is_tag() ) && seopress_get_service( 'TitleOption' )->getTaxTitle() ) { // IS TAX. $seopress_titles_tax_titles_option = esc_attr( seopress_get_service( 'TitleOption' )->getTaxTitle() ); if ( get_term_meta( get_queried_object()->{'term_id'}, '_seopress_titles_title', true ) ) { $seopress_titles_title_template = esc_attr( get_term_meta( get_queried_object()->{'term_id'}, '_seopress_titles_title', true ) ); $seopress_titles_title_template = str_replace( $seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $seopress_titles_title_template ); } else { $seopress_titles_title_template = str_replace( $seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $seopress_titles_tax_titles_option ); } preg_match_all( '/%%_cf_(.*?)%%/', $seopress_titles_title_template, $matches ); // custom fields. if ( ! empty( $matches ) ) { $seopress_titles_cf_template_variables_array = array(); $seopress_titles_cf_template_replace_array = array(); foreach ( $matches['0'] as $key => $value ) { $seopress_titles_cf_template_variables_array[] = $value; } foreach ( $matches['1'] as $key => $value ) { $seopress_titles_cf_template_replace_array[] = wp_trim_words( esc_attr( stripslashes_deep( wp_filter_nohtml_kses( wp_strip_all_tags( strip_shortcodes( get_term_meta( get_queried_object()->{'term_id'}, $value, true ), true ) ) ) ) ), $seopress_excerpt_length ); } } // Custom fields. if ( ! empty( $matches ) && ! empty( $seopress_titles_cf_template_variables_array ) && ! empty( $seopress_titles_cf_template_replace_array ) ) { $seopress_titles_title_template = str_replace( $seopress_titles_cf_template_variables_array, $seopress_titles_cf_template_replace_array, $seopress_titles_title_template ); } } elseif ( is_author() && seopress_get_service( 'TitleOption' )->getArchivesAuthorTitle() ) { // IS AUTHOR. $seopress_titles_archives_author_title_option = esc_attr( seopress_get_service( 'TitleOption' )->getArchivesAuthorTitle() ); preg_match_all( '/%%_ucf_(.*?)%%/', $seopress_titles_archives_author_title_option, $matches ); // custom fields. if ( ! empty( $matches ) ) { $seopress_titles_cf_template_variables_array = array(); $seopress_titles_cf_template_replace_array = array(); foreach ( $matches['0'] as $key => $value ) { $seopress_titles_cf_template_variables_array[] = $value; } foreach ( $matches['1'] as $key => $value ) { $seopress_titles_cf_template_replace_array[] = esc_attr( get_user_meta( get_the_author_meta( 'ID' ), $value, true ) ); } } // Default. $seopress_titles_title_template = esc_attr( seopress_get_service( 'TitleOption' )->getArchivesAuthorTitle() ); // User meta. if ( ! empty( $matches ) && ! empty( $seopress_titles_cf_template_variables_array ) && ! empty( $seopress_titles_cf_template_replace_array ) ) { $seopress_titles_title_template = str_replace( $seopress_titles_cf_template_variables_array, $seopress_titles_cf_template_replace_array, $seopress_titles_title_template ); } $seopress_titles_title_template = str_replace( $seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $seopress_titles_title_template ); } elseif ( is_date() && seopress_get_service( 'TitleOption' )->getTitleArchivesDate() ) { // IS DATE. $seopress_titles_archives_date_title_option = esc_attr( seopress_get_service( 'TitleOption' )->getTitleArchivesDate() ); $seopress_titles_title_template = str_replace( $seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $seopress_titles_archives_date_title_option ); } elseif ( is_search() && seopress_get_service( 'TitleOption' )->getTitleArchivesSearch() ) { // IS SEARCH. $seopress_titles_archives_search_title_option = esc_attr( seopress_get_service( 'TitleOption' )->getTitleArchivesSearch() ); $seopress_titles_title_template = str_replace( $seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $seopress_titles_archives_search_title_option ); } elseif ( is_404() && seopress_get_service( 'TitleOption' )->getTitleArchives404() ) { // IS 404. $seopress_titles_archives_404_title_option = esc_attr( seopress_get_service( 'TitleOption' )->getTitleArchives404() ); $seopress_titles_title_template = str_replace( $seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $seopress_titles_archives_404_title_option ); } // Hook on Title tag - 'seopress_titles_title'. if ( has_filter( 'seopress_titles_title' ) ) { $seopress_titles_title_template = apply_filters( 'seopress_titles_title', $seopress_titles_title_template ); } // Return Title tag. return $seopress_titles_title_template; } if ( apply_filters( 'seopress_old_pre_get_document_title', true ) ) { $priority = apply_filters( 'seopress_titles_the_title_priority', 10 ); add_filter( 'pre_get_document_title', 'seopress_titles_the_title', $priority ); // Avoid TEC rewriting our title tag on Venue and Organizer pages. if ( is_plugin_active( 'the-events-calendar/the-events-calendar.php' ) ) { if ( function_exists( 'tribe_is_event' ) && tribe_is_event() || function_exists( 'tribe_is_venue' ) && tribe_is_venue() || function_exists( 'tribe_is_organizer' ) && tribe_is_organizer() // function_exists('tribe_is_month') && tribe_is_month() && is_tax() || // function_exists('tribe_is_upcoming') && tribe_is_upcoming() && is_tax() || // function_exists('tribe_is_past') && tribe_is_past() && is_tax() || // function_exists('tribe_is_week') && tribe_is_week() && is_tax() || // function_exists('tribe_is_day') && tribe_is_day() && is_tax() || // function_exists('tribe_is_map') && tribe_is_map() && is_tax() || // function_exists('tribe_is_photo') && tribe_is_photo() && is_tax() ) { add_filter( 'pre_get_document_title', 'seopress_titles_the_title', 20 ); } } // Avoid Surecart rewriting our title tag. if ( is_plugin_active( 'surecart/surecart.php' ) ) { if ( is_singular( 'sc_product' ) ) { add_filter( 'pre_get_document_title', 'seopress_titles_the_title', 214748364 ); } } } /** * The Meta Description. */ function seopress_titles_the_description_content() { $variables = null; $variables = apply_filters( 'seopress_dyn_variables_fn', $variables ); if ( ! is_array( $variables ) ) { return ''; } $post = $variables['post'] ?? null; $term = $variables['term'] ?? null; $seopress_titles_title_template = $variables['seopress_titles_title_template'] ?? ''; $seopress_titles_description_template = $variables['seopress_titles_description_template'] ?? ''; $seopress_paged = $variables['seopress_paged'] ?? ''; $the_author_meta = $variables['the_author_meta'] ?? ''; $sep = $variables['sep'] ?? ''; $seopress_excerpt = $variables['seopress_excerpt'] ?? ''; $post_category = $variables['post_category'] ?? ''; $post_tag = $variables['post_tag'] ?? ''; $post_thumbnail_url = $variables['post_thumbnail_url'] ?? ''; $get_search_query = $variables['get_search_query'] ?? ''; $woo_single_cat_html = $variables['woo_single_cat_html'] ?? ''; $woo_single_tag_html = $variables['woo_single_tag_html'] ?? ''; $woo_single_price = $variables['woo_single_price'] ?? ''; $woo_single_price_exc_tax = $variables['woo_single_price_exc_tax'] ?? ''; $woo_single_sku = $variables['woo_single_sku'] ?? ''; $author_bio = $variables['author_bio'] ?? ''; $seopress_get_the_excerpt = $variables['seopress_get_the_excerpt'] ?? ''; $seopress_titles_template_variables_array = $variables['seopress_titles_template_variables_array'] ?? array(); $seopress_titles_template_replace_array = $variables['seopress_titles_template_replace_array'] ?? array(); $seopress_excerpt_length = $variables['seopress_excerpt_length'] ?? ''; $page_id = get_option( 'page_for_posts' ); if ( is_front_page() && is_home() && isset( $post ) && '' === get_post_meta( $post->ID, '_seopress_titles_desc', true ) ) { // HOMEPAGE. if ( '' !== seopress_get_service( 'TitleOption' )->getHomeDescriptionTitle() ) { // IS GLOBAL. $seopress_titles_the_description = esc_attr( seopress_get_service( 'TitleOption' )->getHomeDescriptionTitle() ); $seopress_titles_description_template = str_replace( $seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $seopress_titles_the_description ); } } elseif ( is_front_page() && isset( $post ) && '' === get_post_meta( $post->ID, '_seopress_titles_desc', true ) ) { // STATIC HOMEPAGE. if ( '' !== seopress_get_service( 'TitleOption' )->getHomeDescriptionTitle() && '' === get_post_meta( $post->ID, '_seopress_titles_desc', true ) ) { // IS GLOBAL. $seopress_titles_the_description = esc_attr( seopress_get_service( 'TitleOption' )->getHomeDescriptionTitle() ); $seopress_titles_description_template = str_replace( $seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $seopress_titles_the_description ); } } elseif ( is_home() && ! empty( get_post_meta( $page_id, '_seopress_titles_desc', true ) ) ) { // BLOG PAGE. if ( get_post_meta( $page_id, '_seopress_titles_desc', true ) ) { $seopress_titles_the_description_meta = esc_html( get_post_meta( $page_id, '_seopress_titles_desc', true ) ); $seopress_titles_the_description = $seopress_titles_the_description_meta; $seopress_titles_description_template = str_replace( $seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $seopress_titles_the_description ); } } elseif ( is_home() && ( 'posts' === get_option( 'show_on_front' ) ) ) { // YOUR LATEST POSTS. if ( '' !== seopress_get_service( 'TitleOption' )->getHomeDescriptionTitle() ) { // IS GLOBAL. $seopress_titles_the_description = esc_attr( seopress_get_service( 'TitleOption' )->getHomeDescriptionTitle() ); $seopress_titles_description_template = str_replace( $seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $seopress_titles_the_description ); } } elseif ( function_exists( 'bp_is_group' ) && bp_is_group() ) { if ( '' !== seopress_get_service( 'TitleOption' )->getBpGroupsDesc() ) { $seopress_titles_the_description = esc_attr( seopress_get_service( 'TitleOption' )->getBpGroupsDesc() ); $seopress_titles_description_template = str_replace( $seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $seopress_titles_the_description ); } } elseif ( is_singular() && ! empty( $post ) ) { // IS SINGLE. if ( get_post_meta( $post->ID, '_seopress_titles_desc', true ) ) { // IS METABOXE. $seopress_titles_the_description = esc_attr( get_post_meta( $post->ID, '_seopress_titles_desc', true ) ); preg_match_all( '/%%_cf_(.*?)%%/', $seopress_titles_the_description, $matches ); // custom fields. if ( ! empty( $matches ) ) { $seopress_titles_cf_template_variables_array = array(); $seopress_titles_cf_template_replace_array = array(); foreach ( $matches['0'] as $key => $value ) { $seopress_titles_cf_template_variables_array[] = $value; } foreach ( $matches['1'] as $key => $value ) { $custom_field = wp_trim_words( esc_attr( stripslashes_deep( wp_filter_nohtml_kses( wp_strip_all_tags( strip_shortcodes( get_post_meta( $post->ID, $value, true ), true ) ) ) ) ), $seopress_excerpt_length ); $seopress_titles_cf_template_replace_array[] = apply_filters( 'seopress_titles_custom_field', $custom_field, $value ); } } preg_match_all( '/%%_ct_(.*?)%%/', $seopress_titles_the_description, $matches2 ); // custom terms taxonomy. if ( ! empty( $matches2 ) ) { $seopress_titles_ct_template_variables_array = array(); $seopress_titles_ct_template_replace_array = array(); foreach ( $matches2['0'] as $key => $value ) { $seopress_titles_ct_template_variables_array[] = $value; } foreach ( $matches2['1'] as $key => $value ) { $term = wp_get_post_terms( $post->ID, $value ); if ( ! is_wp_error( $term ) && isset( $term[0] ) ) { $terms = esc_attr( $term[0]->name ); $seopress_titles_ct_template_replace_array[] = apply_filters( 'seopress_titles_custom_tax', $terms, $value ); } } } preg_match_all( '/%%_ucf_(.*?)%%/', $seopress_titles_the_description, $matches3 ); // user meta. if ( ! empty( $matches3 ) ) { $seopress_titles_ucf_template_variables_array = array(); $seopress_titles_ucf_template_replace_array = array(); foreach ( $matches3['0'] as $key => $value ) { $seopress_titles_ucf_template_variables_array[] = $value; } foreach ( $matches3['1'] as $key => $value ) { $user_meta = esc_attr( get_user_meta( get_the_author_meta( 'ID' ), $value, true ) ); $seopress_titles_ucf_template_replace_array[] = apply_filters( 'seopress_titles_user_meta', $user_meta, $value ); } } // Default. $seopress_titles_description_template = str_replace( $seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $seopress_titles_the_description ); // Custom fields. if ( ! empty( $matches ) && ! empty( $seopress_titles_cf_template_variables_array ) && ! empty( $seopress_titles_cf_template_replace_array ) ) { $seopress_titles_description_template = str_replace( $seopress_titles_cf_template_variables_array, $seopress_titles_cf_template_replace_array, $seopress_titles_description_template ); } // Custom terms taxonomy. if ( ! empty( $matches2 ) && ! empty( $seopress_titles_ct_template_variables_array ) && ! empty( $seopress_titles_ct_template_replace_array ) ) { $seopress_titles_description_template = str_replace( $seopress_titles_ct_template_variables_array, $seopress_titles_ct_template_replace_array, $seopress_titles_description_template ); } // User meta. if ( ! empty( $matches3 ) && ! empty( $seopress_titles_ucf_template_variables_array ) && ! empty( $seopress_titles_ucf_template_replace_array ) ) { $seopress_titles_description_template = str_replace( $seopress_titles_ucf_template_variables_array, $seopress_titles_ucf_template_replace_array, $seopress_titles_description_template ); } } elseif ( '' !== seopress_get_service( 'TitleOption' )->getSingleCptDesc( $post->ID ) ) { // IS GLOBAL. $seopress_titles_the_description = esc_attr( seopress_get_service( 'TitleOption' )->getSingleCptDesc( $post->ID ) ); preg_match_all( '/%%_cf_(.*?)%%/', $seopress_titles_the_description, $matches ); // custom fields. if ( ! empty( $matches ) ) { $seopress_titles_cf_template_variables_array = array(); $seopress_titles_cf_template_replace_array = array(); foreach ( $matches['0'] as $key => $value ) { $seopress_titles_cf_template_variables_array[] = $value; } foreach ( $matches['1'] as $key => $value ) { $seopress_titles_cf_template_replace_array[] = wp_trim_words( esc_attr( stripslashes_deep( wp_filter_nohtml_kses( wp_strip_all_tags( strip_shortcodes( get_post_meta( $post->ID, $value, true ), true ) ) ) ) ), $seopress_excerpt_length ); } } preg_match_all( '/%%_ct_(.*?)%%/', $seopress_titles_the_description, $matches2 ); // custom terms taxonomy. if ( ! empty( $matches2 ) ) { $seopress_titles_ct_template_variables_array = array(); $seopress_titles_ct_template_replace_array = array(); foreach ( $matches2['0'] as $key => $value ) { $seopress_titles_ct_template_variables_array[] = $value; } foreach ( $matches2['1'] as $key => $value ) { $term = wp_get_post_terms( $post->ID, $value ); if ( ! is_wp_error( $term ) && isset( $term[0] ) ) { $terms = esc_attr( $term[0]->name ); $seopress_titles_ct_template_replace_array[] = apply_filters( 'seopress_titles_custom_tax', $terms, $value ); } } } preg_match_all( '/%%_ucf_(.*?)%%/', $seopress_titles_the_description, $matches3 ); // user meta. if ( ! empty( $matches3 ) ) { $seopress_titles_ucf_template_variables_array = array(); $seopress_titles_ucf_template_replace_array = array(); foreach ( $matches3['0'] as $key => $value ) { $seopress_titles_ucf_template_variables_array[] = $value; } foreach ( $matches3['1'] as $key => $value ) { $seopress_titles_ucf_template_replace_array[] = esc_attr( get_user_meta( get_the_author_meta( 'ID' ), $value, true ) ); } } // Default. $seopress_titles_description_template = str_replace( $seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $seopress_titles_the_description ); // Custom fields. if ( ! empty( $matches ) && ! empty( $seopress_titles_cf_template_variables_array ) && ! empty( $seopress_titles_cf_template_replace_array ) ) { $seopress_titles_description_template = str_replace( $seopress_titles_cf_template_variables_array, $seopress_titles_cf_template_replace_array, $seopress_titles_description_template ); } // Custom terms taxonomy. if ( ! empty( $matches2 ) && ! empty( $seopress_titles_ct_template_variables_array ) && ! empty( $seopress_titles_ct_template_replace_array ) ) { $seopress_titles_description_template = str_replace( $seopress_titles_ct_template_variables_array, $seopress_titles_ct_template_replace_array, $seopress_titles_description_template ); } // User meta. if ( ! empty( $matches3 ) && ! empty( $seopress_titles_ucf_template_variables_array ) && ! empty( $seopress_titles_ucf_template_replace_array ) ) { $seopress_titles_description_template = str_replace( $seopress_titles_ucf_template_variables_array, $seopress_titles_ucf_template_replace_array, $seopress_titles_description_template ); } } else { setup_postdata( $post ); if ( '' !== $seopress_get_the_excerpt || '' !== get_the_content() ) { // DEFAULT EXCERPT OR THE CONTENT. $seopress_titles_the_description = wp_trim_words( stripslashes_deep( wp_filter_nohtml_kses( $seopress_get_the_excerpt ) ), $seopress_excerpt_length ); $seopress_titles_description_template = str_replace( $seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $seopress_titles_the_description ); } } } elseif ( is_post_type_archive() && ! is_search() && ! is_tax() && seopress_get_service( 'TitleOption' )->getArchivesCPTDesc() ) { // IS POST TYPE ARCHIVE (!is_tax required for TEC, !is_search required for WC search box). $seopress_titles_the_description = esc_attr( seopress_get_service( 'TitleOption' )->getArchivesCPTDesc() ); $seopress_titles_description_template = str_replace( $seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $seopress_titles_the_description ); } elseif ( ( is_tax() || is_category() || is_tag() ) && seopress_get_service( 'TitleOption' )->getTaxDesc() ) { // IS TAX. $seopress_titles_the_description = esc_attr( seopress_get_service( 'TitleOption' )->getTaxDesc() ); if ( get_term_meta( get_queried_object()->{'term_id'}, '_seopress_titles_desc', true ) ) { $seopress_titles_description_template = esc_attr( get_term_meta( get_queried_object()->{'term_id'}, '_seopress_titles_desc', true ) ); $seopress_titles_description_template = str_replace( $seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $seopress_titles_description_template ); } else { $seopress_titles_description_template = str_replace( $seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $seopress_titles_the_description ); } preg_match_all( '/%%_cf_(.*?)%%/', $seopress_titles_description_template, $matches ); // custom fields. if ( ! empty( $matches ) ) { $seopress_titles_cf_template_variables_array = array(); $seopress_titles_cf_template_replace_array = array(); foreach ( $matches['0'] as $key => $value ) { $seopress_titles_cf_template_variables_array[] = $value; } foreach ( $matches['1'] as $key => $value ) { $seopress_titles_cf_template_replace_array[] = wp_trim_words( esc_attr( stripslashes_deep( wp_filter_nohtml_kses( wp_strip_all_tags( strip_shortcodes( get_term_meta( get_queried_object()->{'term_id'}, $value, true ), true ) ) ) ) ), $seopress_excerpt_length ); } } // Custom fields. if ( ! empty( $matches ) && ! empty( $seopress_titles_cf_template_variables_array ) && ! empty( $seopress_titles_cf_template_replace_array ) ) { $seopress_titles_description_template = str_replace( $seopress_titles_cf_template_variables_array, $seopress_titles_cf_template_replace_array, $seopress_titles_description_template ); } } elseif ( is_author() && seopress_get_service( 'TitleOption' )->getArchivesAuthorDescription() ) { // IS AUTHOR. $seopress_titles_archives_author_desc_option = esc_attr( seopress_get_service( 'TitleOption' )->getArchivesAuthorDescription() ); preg_match_all( '/%%_ucf_(.*?)%%/', $seopress_titles_archives_author_desc_option, $matches ); // custom fields. if ( ! empty( $matches ) ) { $seopress_titles_cf_template_variables_array = array(); $seopress_titles_cf_template_replace_array = array(); foreach ( $matches['0'] as $key => $value ) { $seopress_titles_cf_template_variables_array[] = $value; } foreach ( $matches['1'] as $key => $value ) { $seopress_titles_cf_template_replace_array[] = esc_attr( get_user_meta( get_the_author_meta( 'ID' ), $value, true ) ); } } // Default. $seopress_titles_description_template = esc_attr( seopress_get_service( 'TitleOption' )->getArchivesAuthorDescription() ); // User meta. if ( ! empty( $matches ) && ! empty( $seopress_titles_cf_template_variables_array ) && ! empty( $seopress_titles_cf_template_replace_array ) ) { $seopress_titles_description_template = str_replace( $seopress_titles_cf_template_variables_array, $seopress_titles_cf_template_replace_array, $seopress_titles_description_template ); } $seopress_titles_description_template = str_replace( $seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $seopress_titles_description_template ); } elseif ( is_date() && seopress_get_service( 'TitleOption' )->getArchivesDateDesc() ) { // IS DATE. $seopress_titles_the_description = esc_attr( seopress_get_service( 'TitleOption' )->getArchivesDateDesc() ); $seopress_titles_description_template = str_replace( $seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $seopress_titles_the_description ); } elseif ( is_search() && seopress_get_service( 'TitleOption' )->getArchivesSearchDesc() ) { // IS SEARCH. $seopress_titles_the_description = esc_attr( seopress_get_service( 'TitleOption' )->getArchivesSearchDesc() ); $seopress_titles_description_template = str_replace( $seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $seopress_titles_the_description ); } elseif ( is_404() && seopress_get_service( 'TitleOption' )->getArchives404Desc() ) { // IS 404. $seopress_titles_the_description = esc_attr( seopress_get_service( 'TitleOption' )->getArchives404Desc() ); $seopress_titles_description_template = str_replace( $seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $seopress_titles_the_description ); } // Hook on meta description - 'seopress_titles_desc'. if ( has_filter( 'seopress_titles_desc' ) ) { $seopress_titles_description_template = apply_filters( 'seopress_titles_desc', $seopress_titles_description_template ); } // Return meta desc tag. return $seopress_titles_description_template; } /** * The description. */ function seopress_titles_the_description() { if ( '' !== seopress_titles_the_description_content() ) { $html = '<meta name="description" content="' . seopress_titles_the_description_content() . '">'; $html .= "\n"; echo $html; } } if ( apply_filters( 'seopress_old_wp_head_description', true ) ) { add_action( 'wp_head', 'seopress_titles_the_description', 1 ); } /** * Noindex single CPT. */ function seopress_titles_noindex_post_option() { $_seopress_robots_index = get_post_meta( get_the_ID(), '_seopress_robots_index', true ); if ( 'yes' === $_seopress_robots_index ) { return $_seopress_robots_index; } } /** * Noindex bypass. */ function seopress_titles_noindex_bypass() { // init. $seopress_titles_noindex = ''; $page_id = get_option( 'page_for_posts' ); if ( is_singular() && true === post_password_required() ) { // if password required, set noindex. $seopress_titles_noindex = 'noindex'; } elseif ( seopress_get_service( 'TitleOption' )->getTitleNoIndex() ) { // Global Advanced tab. $seopress_titles_noindex = seopress_get_service( 'TitleOption' )->getTitleNoIndex(); } elseif ( is_singular() && seopress_get_service( 'TitleOption' )->getSingleCptNoIndex() ) { // Single CPT Global. $seopress_titles_noindex = seopress_get_service( 'TitleOption' )->getSingleCptNoIndex(); } elseif ( is_singular() && seopress_titles_noindex_post_option() ) { // Single CPT Metaboxe. $seopress_titles_noindex = seopress_titles_noindex_post_option(); } elseif ( is_home() && ! empty( get_post_meta( $page_id, '_seopress_robots_index', true ) ) ) { // BLOG PAGE. $seopress_titles_noindex = get_post_meta( $page_id, '_seopress_robots_index', true ); } elseif ( is_post_type_archive() && seopress_get_service( 'TitleOption' )->getArchivesCPTNoIndex() ) { // Is POST TYPE ARCHIVE. $seopress_titles_noindex = seopress_get_service( 'TitleOption' )->getArchivesCPTNoIndex(); } elseif ( ( ( is_tax() || is_category() || is_tag() ) && ! is_search() ) && seopress_get_service( 'TitleOption' )->getTaxNoIndex() ) { // Is TAX. $seopress_titles_noindex = seopress_get_service( 'TitleOption' )->getTaxNoIndex(); } elseif ( is_author() && seopress_get_service( 'TitleOption' )->getArchiveAuthorNoIndex() ) { // Is Author archive. $seopress_titles_noindex = seopress_get_service( 'TitleOption' )->getArchiveAuthorNoIndex(); } elseif ( function_exists( 'bp_is_group' ) && bp_is_group() && seopress_get_service( 'TitleOption' )->getBpGroupsNoIndex() ) { // Is BuddyPress group single. $seopress_titles_noindex = seopress_get_service( 'TitleOption' )->getBpGroupsNoIndex(); } elseif ( is_date() && seopress_get_service( 'TitleOption' )->getArchivesDateNoIndex() ) { // Is Date archive. $seopress_titles_noindex = seopress_get_service( 'TitleOption' )->getArchivesDateNoIndex(); } elseif ( is_search() && seopress_get_service( 'TitleOption' )->getArchivesSearchNoIndex() ) {// Is Search. $seopress_titles_noindex = seopress_get_service( 'TitleOption' )->getArchivesSearchNoIndex(); } elseif ( is_paged() && seopress_get_service( 'TitleOption' )->getPagedNoIndex() ) {// Is paged archive. $seopress_titles_noindex = seopress_get_service( 'TitleOption' )->getPagedNoIndex(); } elseif ( is_404() ) { // Is 404 page. $seopress_titles_noindex = 'noindex'; } elseif ( is_attachment() && seopress_get_service( 'TitleOption' )->getAttachmentsNoIndex() ) { $seopress_titles_noindex = 'noindex'; } elseif ( isset( $_GET['replytocom'] ) ) { $seopress_titles_noindex = 'noindex'; remove_filter( 'wp_robots', 'wp_robots_no_robots' ); } $seopress_titles_noindex = apply_filters( 'seopress_titles_noindex_bypass', $seopress_titles_noindex ); // remove hreflang if noindex. if ( '1' === $seopress_titles_noindex || true === $seopress_titles_noindex ) { // WPML. add_filter( 'wpml_hreflangs', '__return_false' ); // MultilingualPress v2. add_filter( 'multilingualpress.render_hreflang', '__return_false' ); // TranslatePress. add_filter( 'trp-exclude-hreflang', '__return_true' ); } // Return noindex tag. return $seopress_titles_noindex; } /** * Nofollow bypass. */ function seopress_titles_nofollow_post_option() { $_seopress_robots_follow = get_post_meta( get_the_ID(), '_seopress_robots_follow', true ); if ( 'yes' === $_seopress_robots_follow ) { return $_seopress_robots_follow; } } /** * Nofollow bypass. */ function seopress_titles_nofollow_bypass() { // init. $seopress_titles_nofollow = ''; $page_id = get_option( 'page_for_posts' ); if ( seopress_get_service( 'TitleOption' )->getTitleNoFollow() ) { // Single CPT Global Advanced tab. $seopress_titles_nofollow = seopress_get_service( 'TitleOption' )->getTitleNoFollow(); } elseif ( is_singular() && seopress_get_service( 'TitleOption' )->getSingleCptNoFollow() ) { // Single CPT Global. $seopress_titles_nofollow = seopress_get_service( 'TitleOption' )->getSingleCptNoFollow(); } elseif ( is_singular() && seopress_titles_nofollow_post_option() ) { // Single CPT Metaboxe. $seopress_titles_nofollow = seopress_titles_nofollow_post_option(); } elseif ( is_home() && ! empty( get_post_meta( $page_id, '_seopress_robots_follow', true ) ) ) { // BLOG PAGE. $seopress_titles_nofollow = get_post_meta( $page_id, '_seopress_robots_follow', true ); } elseif ( is_post_type_archive() && seopress_get_service( 'TitleOption' )->getArchivesCPTNoFollow() ) { // IS POST TYPE ARCHIVE. $seopress_titles_nofollow = seopress_get_service( 'TitleOption' )->getArchivesCPTNoFollow(); } elseif ( ( is_tax() || is_category() || is_tag() ) && seopress_get_service( 'TitleOption' )->getTaxNoFollow() ) { // IS TAX. $seopress_titles_nofollow = seopress_get_service( 'TitleOption' )->getTaxNoFollow(); } return $seopress_titles_nofollow; } /** * Date in SERPs. */ function seopress_titles_single_cpt_date_hook() { if ( ! is_front_page() && ! is_home() ) { if ( is_singular() && '1' === seopress_get_service( 'TitleOption' )->getSingleCptDate() ) { $seopress_get_current_pub_post_date = get_the_date( 'c' ); $seopress_get_current_up_post_date = get_the_modified_date( 'c' ); $html = '<meta property="article:published_time" content="' . $seopress_get_current_pub_post_date . '">'; $html .= "\n"; $html = apply_filters( 'seopress_titles_article_published_time', $html ); echo $html; $html = '<meta property="article:modified_time" content="' . $seopress_get_current_up_post_date . '">'; $html .= "\n"; $html = apply_filters( 'seopress_titles_article_modified_time', $html ); echo $html; $html = '<meta property="og:updated_time" content="' . $seopress_get_current_up_post_date . '">'; $html .= "\n"; $html = apply_filters( 'seopress_titles_og_updated_time', $html ); echo $html; } } } add_action( 'wp_head', 'seopress_titles_single_cpt_date_hook', 1 ); /** * Thumbnail in Google Custom Search. */ function seopress_titles_single_cpt_thumb_gcs() { if ( ! is_front_page() && ! is_home() ) { if ( is_singular() && '1' === seopress_get_service( 'TitleOption' )->getSingleCptThumb() ) { if ( get_the_post_thumbnail_url( get_the_ID() ) ) { $html = '<meta name="thumbnail" content="' . get_the_post_thumbnail_url( get_the_ID(), 'thumbnail' ) . '">'; $html .= "\n"; $html = apply_filters( 'seopress_titles_gcs_thumbnail', $html ); echo $html; } } } } add_action( 'wp_head', 'seopress_titles_single_cpt_thumb_gcs', 1 ); /** * Nosnippet post option. */ function seopress_titles_nosnippet_post_option() { $_seopress_robots_snippet = get_post_meta( get_the_ID(), '_seopress_robots_snippet', true ); if ( 'yes' === $_seopress_robots_snippet ) { return $_seopress_robots_snippet; } } /** * Nosnippet bypass. */ function seopress_titles_nosnippet_bypass() { $page_id = get_option( 'page_for_posts' ); if ( seopress_get_service( 'TitleOption' )->getTitleNoSnippet() ) { return seopress_get_service( 'TitleOption' )->getTitleNoSnippet(); } elseif ( is_singular() && seopress_titles_nosnippet_post_option() ) { return seopress_titles_nosnippet_post_option(); } elseif ( is_home() && ! empty( get_post_meta( $page_id, '_seopress_robots_snippet', true ) ) ) { // BLOG PAGE. return get_post_meta( $page_id, '_seopress_robots_snippet', true ); } elseif ( ( is_tax() || is_category() || is_tag() ) && ! is_search() ) { $queried_object = get_queried_object(); if ( null !== $queried_object && 'yes' === get_term_meta( $queried_object->term_id, '_seopress_robots_snippet', true ) ) { return get_term_meta( $queried_object->term_id, '_seopress_robots_snippet', true ); } } } /** * Noimageindex post option. */ function seopress_titles_noimageindex_post_option() { $_seopress_robots_imageindex = get_post_meta( get_the_ID(), '_seopress_robots_imageindex', true ); if ( 'yes' === $_seopress_robots_imageindex ) { return $_seopress_robots_imageindex; } } /** * Noimageindex bypass. */ function seopress_titles_noimageindex_bypass() { if ( seopress_get_service( 'TitleOption' )->getTitleNoImageIndex() ) { return seopress_get_service( 'TitleOption' )->getTitleNoImageIndex(); } elseif ( is_singular() && seopress_titles_noimageindex_post_option() ) { return seopress_titles_noimageindex_post_option(); } elseif ( is_tax() || is_category() || is_tag() ) { $queried_object = get_queried_object(); if ( null !== $queried_object ) { if ( 'yes' === get_term_meta( $queried_object->term_id, '_seopress_robots_imageindex', true ) ) { return get_term_meta( $queried_object->term_id, '_seopress_robots_imageindex', true ); } } } } /** * Polylang. * * @param array $hreflangs The hreflangs array. * @return array The hreflangs array. */ function seopress_remove_hreflang_polylang( $hreflangs ) { $hreflangs = array(); return $hreflangs; } if ( '0' !== get_option( 'blog_public' ) ) { // Discourage search engines from indexing this site is OFF. /** * Advanced robots hook. */ function seopress_titles_advanced_robots_hook() { $seopress_comma_array = array(); if ( ! empty( seopress_titles_noindex_bypass() ) ) { $seopress_titles_noindex = 'noindex'; // Hook on meta robots noindex - 'seopress_titles_noindex'. if ( has_filter( 'seopress_titles_noindex' ) ) { $seopress_titles_noindex = apply_filters( 'seopress_titles_noindex', $seopress_titles_noindex ); } array_push( $seopress_comma_array, $seopress_titles_noindex ); } if ( ! empty( seopress_titles_nofollow_bypass() ) ) { $seopress_titles_nofollow = 'nofollow'; // Hook on meta robots nofollow - 'seopress_titles_nofollow'. if ( has_filter( 'seopress_titles_nofollow' ) ) { $seopress_titles_nofollow = apply_filters( 'seopress_titles_nofollow', $seopress_titles_nofollow ); } array_push( $seopress_comma_array, $seopress_titles_nofollow ); } if ( ! empty( seopress_titles_noimageindex_bypass() ) ) { $seopress_titles_noimageindex = 'noimageindex'; // Hook on meta robots noimageindex - 'seopress_titles_noimageindex'. if ( has_filter( 'seopress_titles_noimageindex' ) ) { $seopress_titles_noimageindex = apply_filters( 'seopress_titles_noimageindex', $seopress_titles_noimageindex ); } array_push( $seopress_comma_array, $seopress_titles_noimageindex ); } if ( ! empty( seopress_titles_nosnippet_bypass() ) ) { $seopress_titles_nosnippet = 'nosnippet'; // Hook on meta robots nosnippet - 'seopress_titles_nosnippet'. if ( has_filter( 'seopress_titles_nosnippet' ) ) { $seopress_titles_nosnippet = apply_filters( 'seopress_titles_nosnippet', $seopress_titles_nosnippet ); } array_push( $seopress_comma_array, $seopress_titles_nosnippet ); } // remove hreflang tag from Polylang if noindex. if ( in_array( 'noindex', $seopress_comma_array, true ) ) { add_filter( 'pll_rel_hreflang_attributes', 'seopress_remove_hreflang_polylang' ); } if ( ! in_array( 'noindex', $seopress_comma_array, true ) && ! in_array( 'nofollow', $seopress_comma_array, true ) ) { $seopress_titles_max_snippet = 'index, follow'; array_unshift( $seopress_comma_array, $seopress_titles_max_snippet ); } if ( in_array( 'nofollow', $seopress_comma_array, true ) && ! in_array( 'noindex', $seopress_comma_array, true ) ) { $seopress_titles_max_snippet = 'index'; array_unshift( $seopress_comma_array, $seopress_titles_max_snippet ); } if ( in_array( 'noindex', $seopress_comma_array, true ) && ! in_array( 'nofollow', $seopress_comma_array, true ) ) { $seopress_titles_max_snippet = 'follow'; array_unshift( $seopress_comma_array, $seopress_titles_max_snippet ); } if ( ! in_array( 'noindex', $seopress_comma_array, true ) ) { $seopress_titles_max_snippet = 'max-snippet:-1, max-image-preview:large, max-video-preview:-1'; array_push( $seopress_comma_array, $seopress_titles_max_snippet ); } // Default meta robots. $seopress_titles_robots = '<meta name="robots" content="'; $seopress_comma_array = apply_filters( 'seopress_titles_robots_attrs', $seopress_comma_array ); $seopress_comma_count = count( $seopress_comma_array ); for ( $i = 0; $i < $seopress_comma_count; ++$i ) { $seopress_titles_robots .= $seopress_comma_array[ $i ]; if ( $i < ( $seopress_comma_count - 1 ) ) { $seopress_titles_robots .= ', '; } } $seopress_titles_robots .= '">'; $seopress_titles_robots .= "\n"; // Hook on meta robots all - 'seopress_titles_robots'. if ( has_filter( 'seopress_titles_robots' ) ) { $seopress_titles_robots = apply_filters( 'seopress_titles_robots', $seopress_titles_robots ); } echo $seopress_titles_robots; } add_action( 'wp_head', 'seopress_titles_advanced_robots_hook', 1 ); } if ( seopress_get_service( 'TitleOption' )->getPagedRel() ) { /** * Link rel prev/next. */ function seopress_titles_paged_rel_hook() { global $paged; $html = ''; $paged_int = max( 1, (int) $paged ); if ( get_previous_posts_link() ) { $html .= '<link rel="prev" href="' . esc_url( get_pagenum_link( max( 1, $paged_int - 1 ) ) ) . '">'; } if ( get_next_posts_link() ) { $html .= '<link rel="next" href="' . esc_url( get_pagenum_link( $paged_int + 1 ) ) . '">'; } $html = apply_filters( 'seopress_titles_paged_rel', $html, $paged_int ); $allowed_tags = array( 'link' => array( 'rel' => true, 'href' => true, ), ); echo wp_kses( $html, $allowed_tags ); } add_action( 'wp_head', 'seopress_titles_paged_rel_hook', 9 ); } /** * Canonical post option. */ function seopress_titles_canonical_post_option() { $_seopress_robots_canonical = get_post_meta( get_the_ID(), '_seopress_robots_canonical', true ); if ( '' !== $_seopress_robots_canonical ) { return $_seopress_robots_canonical; } } /** * Canonical term option. */ function seopress_titles_canonical_term_option() { $queried_object = get_queried_object(); $term_id = null !== $queried_object ? $queried_object->term_id : ''; if ( ! empty( $term_id ) ) { $_seopress_robots_canonical = get_term_meta( $term_id, '_seopress_robots_canonical', true ); if ( '' !== $_seopress_robots_canonical ) { return $_seopress_robots_canonical; } } } if ( function_exists( 'seopress_titles_noindex_bypass' ) && '1' !== seopress_titles_noindex_bypass() && 'yes' !== seopress_titles_noindex_bypass() ) {// Remove Canonical if noindex. $page_id = get_option( 'page_for_posts' ); if ( is_singular() && seopress_titles_canonical_post_option() ) { // CUSTOM SINGLE CANONICAL. /** * Canonical post hook. */ function seopress_titles_canonical_post_hook() { $seopress_titles_canonical = '<link rel="canonical" href="' . htmlspecialchars( urldecode( (string) seopress_titles_canonical_post_option() ) ) . '">'; // Hook on post canonical URL - 'seopress_titles_canonical'. if ( has_filter( 'seopress_titles_canonical' ) ) { $seopress_titles_canonical = apply_filters( 'seopress_titles_canonical', $seopress_titles_canonical ); } echo $seopress_titles_canonical . "\n"; } add_action( 'wp_head', 'seopress_titles_canonical_post_hook', 1 ); } elseif ( is_home() && ! empty( get_post_meta( $page_id, '_seopress_robots_canonical', true ) ) ) { // BLOG PAGE. /** * Canonical post hook. */ function seopress_titles_canonical_post_hook() { $page_id = get_option( 'page_for_posts' ); $seopress_titles_canonical = '<link rel="canonical" href="' . htmlspecialchars( urldecode( (string) get_post_meta( $page_id, '_seopress_robots_canonical', true ) ) ) . '">'; // Hook on post canonical URL - 'seopress_titles_canonical'. if ( has_filter( 'seopress_titles_canonical' ) ) { $seopress_titles_canonical = apply_filters( 'seopress_titles_canonical', $seopress_titles_canonical ); } echo $seopress_titles_canonical . "\n"; } add_action( 'wp_head', 'seopress_titles_canonical_post_hook', 1, 1 ); } elseif ( ( is_tax() || is_category() || is_tag() ) && seopress_titles_canonical_term_option() ) { // CUSTOM TERM CANONICAL. /** * Canonical term hook. */ function seopress_titles_canonical_term_hook() { $seopress_titles_canonical = '<link rel="canonical" href="' . htmlspecialchars( urldecode( seopress_titles_canonical_term_option() ) ) . '">'; // Hook on post canonical URL - 'seopress_titles_canonical'. if ( has_filter( 'seopress_titles_canonical' ) ) { $seopress_titles_canonical = apply_filters( 'seopress_titles_canonical', $seopress_titles_canonical ); } echo $seopress_titles_canonical . "\n"; } add_action( 'wp_head', 'seopress_titles_canonical_term_hook', 1 ); } elseif ( ! is_404() ) { // DEFAULT CANONICAL. /** * Canonical hook. */ function seopress_titles_canonical_hook() { global $wp; $current_url = user_trailingslashit( home_url( add_query_arg( array(), $wp->request ) ) ); // WPML. if ( class_exists( 'SitePress' ) ) { $my_default_lang = ''; $my_current_lang = ''; $post_ID = get_the_ID(); $post_type = get_post_type( $post_ID ); $transl_status = apply_filters( 'wpml_element_translation_type', null, $post_ID, $post_type ); // If the post is not translated, switch to the default language. if ( 1 !== $transl_status ) { $my_default_lang = apply_filters( 'wpml_default_language', null ); $my_current_lang = apply_filters( 'wpml_current_language', null ); do_action( 'wpml_switch_language', $my_default_lang ); } } if ( is_front_page() && ! is_paged() ) { // Front page with "Your latest posts" setting. $seopress_titles_canonical = '<link rel="canonical" href="' . htmlspecialchars( urldecode( home_url( '/' ) ) ) . '">'; } elseif ( is_search() ) { $seopress_titles_canonical = '<link rel="canonical" href="' . htmlspecialchars( urldecode( get_home_url() . '/search/' . get_search_query() ) ) . '">'; } elseif ( is_paged() && is_singular() ) {// Paginated pages. $seopress_titles_canonical = '<link rel="canonical" href="' . htmlspecialchars( urldecode( get_permalink() ) ) . '">'; } elseif ( is_paged() ) { $seopress_titles_canonical = '<link rel="canonical" href="' . htmlspecialchars( urldecode( $current_url ) ) . '">'; } elseif ( is_singular() ) { $seopress_titles_canonical = '<link rel="canonical" href="' . htmlspecialchars( urldecode( get_permalink() ) ) . '">'; } else { $seopress_titles_canonical = '<link rel="canonical" href="' . htmlspecialchars( urldecode( $current_url ) ) . '">'; } // WPML: Then switch back to the current language. if ( class_exists( 'SitePress' ) ) { if ( 1 !== $transl_status ) { do_action( 'wpml_switch_language', $my_current_lang ); } } // Hook on post canonical URL - 'seopress_titles_canonical'. if ( has_filter( 'seopress_titles_canonical' ) ) { $seopress_titles_canonical = apply_filters( 'seopress_titles_canonical', $seopress_titles_canonical ); } echo $seopress_titles_canonical . "\n"; } add_action( 'wp_head', 'seopress_titles_canonical_hook', 1 ); } }