File manager - Edit - /home/matthif/www/wp-content/plugins/visual-portfolio/classes/class-seo-optimization.php
Back
<?php /** * Seo Optimization. * * @package visual-portfolio */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class Visual_Portfolio_SEO_Optimization */ class Visual_Portfolio_SEO_Optimization { /** * Visual_Portfolio_SEO_Optimization constructor. */ public function __construct() { add_action( 'init', array( $this, 'init' ), 9 ); } /** * Initialize archive. * * @see __construct */ public function init() { add_filter( 'get_canonical_url', array( $this, 'optimize_canonical_url' ), 10, 2 ); add_filter( 'get_shortlink', array( $this, 'optimize_shortlink' ), 10, 3 ); } /** * Optimize canonical URL. * * @param string $canonical_url - Canonical URL. * @param object $post - Current Post Object. * @return string */ public function optimize_canonical_url( $canonical_url, $post ) { return $this->optimize_url( $canonical_url, $post->ID ); } /** * Optimize shortlink. * * @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'. * @return string */ public function optimize_shortlink( $shortlink, $id, $context ) { return 0 === $id && 'query' === $context ? $this->optimize_url( $shortlink, get_queried_object_id() ) : $shortlink; } /** * Optimize url by supported GET variables: vp_page, vp_filter, vp_sort and vp_search. * * @param string $url - Not optimized URL. * @param int $post_id - Post ID. * @return string */ public function optimize_url( $url, $post_id ) { if ( ! Visual_Portfolio_Archive_Mapping::is_archive( array( 'content_source' => 'post-based', 'posts_source' => 'current_query', ), $post_id ) && // phpcs:ignore WordPress.Security.NonceVerification.Recommended isset( $_GET ) && ! empty( $_GET ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended foreach ( $_GET as $key => $value ) { if ( 'vp_page' === $key || 'vp_filter' === $key || 'vp_sort' === $key || 'vp_search' === $key ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended $url = add_query_arg( array_map( 'sanitize_text_field', wp_unslash( array( $key => $value ) ) ), $url ); } } } return $url; } } new Visual_Portfolio_SEO_Optimization();
| ver. 1.4 |
Github
|
.
| PHP 5.4.45 | Generation time: 0 |
proxy
|
phpinfo
|
Settings