晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。   林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。   见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝)   既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。   南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。 .
Prv8 Shell
Server : Apache
System : Linux srv.rainic.com 4.18.0-553.47.1.el8_10.x86_64 #1 SMP Wed Apr 2 05:45:37 EDT 2025 x86_64
User : rainic ( 1014)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/stando/www/wp-content/plugins/wpseo-local/classes/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/stando/www/wp-content/plugins/wpseo-local/classes/class-search.php
<?php
/**
 * Yoast SEO: Local plugin file.
 *
 * @package WPSEO_Local\Frontend
 * @since   7.1
 */

if ( ! class_exists( 'WPSEO_Local_Search' ) ) {

	/**
	 * Class WPSEO_Local_Search
	 *
	 * Add functionality for enhancing the search engine and page
	 */
	class WPSEO_Local_Search {

		/**
		 * Stores the options for this plugin.
		 *
		 * @var array
		 */
		private $search_fields = array();

		/**
		 * @var bool
		 */
		private $enhanced_search_result_enabled = true;

		/**
		 * Holds the global wpdb variable.
		 *
		 * @var \wpdb
		 */
		private $wpdb;

		/**
		 * Stores the options for this plugin.
		 *
		 * @var array
		 */
		private $options;

		/**
		 * Constructor.
		 */
		public function __construct() {
			$this->run();
		}

		/**
		 * Run all the needed actions.
		 */
		public function run() {
			add_action( 'init', array( $this, 'set_options' ) );

			add_action( 'pre_get_posts', array( $this, 'enhance_search' ) );
			add_filter( 'the_excerpt', array( $this, 'enhance_location_search_results' ) );
		}

		/**
		 * Set WPSEO Local options in variable.
		 */
		public function set_options() {
			$this->options = get_option( 'wpseo_local' );
		}

		/**
		 * Enhance the WordPress search to search in WPSEO Local locations meta data.
		 */
		public function enhance_search() {
			if ( is_search() && $this->is_enhanced_search_enabled() && ! is_admin() && ( ! isset( $_GET['post_type'] ) || 'wpseo_locations' === $_GET['post_type'] ) ) {
				global $wpdb;
				$this->wpdb = $wpdb;

				$this->set_search_fields();

				add_filter( 'posts_where', array( $this, 'where' ), 99, 1 );
				add_filter( 'posts_join', array( $this, 'join' ), 99, 1 );
				add_filter( 'posts_groupby', array( $this, 'groupby' ), 99, 1 );
			}
		}

		/**
		 * @param string $where The WHERE clause for the search query.
		 *
		 * @return mixed
		 */
		public function where( $where ) {
			$meta_query = '';
			$where      = $this->wpdb->remove_placeholder_escape( $where );

			foreach ( $this->search_fields as $field ) {
				$meta_query .= '((' . $this->wpdb->postmeta . ".meta_key = '" . $field . "')";
				$meta_query .= ' AND (' . $this->wpdb->postmeta . ".meta_value  LIKE '%" . get_search_query() . "%')) OR ";
			}

			$where = str_replace( '(((' . $this->wpdb->posts . ".post_title LIKE '%", '( ' . $meta_query . ' ((' . $this->wpdb->posts . ".post_title LIKE '%", $where );

			$where = $this->wpdb->remove_placeholder_escape( $where );

			return $where;
		}

		/**
		 * @param string $join The JOIN clause for the search query.
		 *
		 * @return mixed
		 */
		public function join( $join ) {
			$join .= ' INNER JOIN ' . $this->wpdb->postmeta . ' ON (' . $this->wpdb->posts . '.ID = ' . $this->wpdb->postmeta . '.post_id)';

			return $join;
		}

		/**
		 * @param string $groupby The GROUPBY clause for the search query.
		 *
		 * @return mixed
		 */
		public function groupby( $groupby ) {
			$groupby .= $this->wpdb->posts . '.ID';

			return $groupby;
		}

		/**
		 * Add address to locations in search results
		 *
		 * @since 1.3.8
		 *
		 * @param string $excerpt The excerpt which will be changed by this method.
		 *
		 * @return string
		 */
		public function enhance_location_search_results( $excerpt ) {
			if ( is_search() && $this->is_enhanced_search_result_enabled() && $this->is_enhanced_search_enabled() ) {
				global $post;

				if ( 'wpseo_locations' === get_post_type( $post->ID ) ) {
					$atts = array(
						'id'           => $post->ID,
						'hide_name'    => true,
						'hide_json_ld' => true,
					);

					$excerpt .= '<div class="wpseo-local-search-details">';
					$excerpt .= wpseo_local_show_address( $atts );
					$excerpt .= '</div>';
				}
			}

			return $excerpt;
		}

		/**
		 * Set the default fields to search in.
		 */
		private function set_search_fields() {
			$this->search_fields = array( '_wpseo_business_address', '_wpseo_business_city', '_wpseo_business_zipcode' );
			$this->search_fields = apply_filters( 'wpseo_local_search_custom_fields', $this->search_fields );
		}

		/**
		 * Check if enhanced search is enabled.
		 *
		 * @return string
		 */
		private function is_enhanced_search_enabled() {
			return apply_filters( 'yoast_local_seo_enhanced_search_enabled', $this->options['enhanced_search'] );
		}

		/**
		 * Check if enhanced search result is enabled.
		 *
		 * @todo: Create an option in the Yoast Local SEO options page to disable the enhanced search.
		 *
		 * @return true|false
		 */
		private function is_enhanced_search_result_enabled() {
			return apply_filters( 'yoast_local_seo_enhanced_search_result_enabled', $this->enhanced_search_result_enabled );
		}
	}
}

haha - 2025