如何将网站更改为wordpress中的特定位置

例如,

我有一个 domain.com。如果用户搜索 domain.com/toronto。我需要完整的网站应该显示与该城市相关的帖子和文章。

所以我打算做

从搜索查询中取城市(多伦多)

1.使用geolocation api搜索它是否是有效的地方,2.获取lat long,3.在cookie中修复它,直到完成另一个搜索以更新。

我用pre_get_postsparse_query得到城市。但我什么也没得到,请有人建议使用哪些钩子,并且需要快速了解 wordpress 钩子和过滤器。


开满天机
浏览 98回答 2
2回答

料青山看我应如是

最后我发现,在显示404页面之前有一个钩子,因此,用于$wp_query->query['name']获取搜索查询文本,即 london 或 toronto。然后使用我用谷歌地图 API 检查有效地点。一旦它有效,我就会重定向到具有该位置的搜索 url。我在带有地理位置的主题正常搜索中找到了它。请在您的主题functions.php 中使用以下代码。在某些地方我使用了我的主题功能fw_get_db_settings_option在 myredirect_url 中使用您的主题正常搜索 url 和地理位置add_filter('template_redirect', 'my_404_override' );function my_404_override() {    global $wp_query;    $mysearch_location = $wp_query->query['name'];    $google_key = '';    if (function_exists('fw_get_db_settings_option')) {        $google_key = trim(fw_get_db_settings_option('google_key'));    }    $protocol = is_ssl() ? 'https' : 'http';    $place_detail = file_get_contents($protocol .'://maps.googleapis.com/maps/api/place/textsearch/json?query='.$mysearch_location.'&key='.$google_key);    $place_detail = json_decode($place_detail);    $formatted_address = $place_detail->results[0]->formatted_address;    $latitude = $place_detail->results[0]->geometry->location->lat;    $longitude = $place_detail->results[0]->geometry->location->lng;    if($place_detail->status=='OK'){        status_header( 200 );        $wp_query->is_404=false;        $myredirect_url = get_site_url() .'/find/?keyword=&geo='.$formatted_address.'&geo_distance=11&lat='.$latitude.'&long='.$longitude.'&location='.$formatted_address.'&category=';        wp_redirect( $myredirect_url );        exit;    }}

凤凰求蛊

手动方式只需将所有文件移动到服务器和数据库到 phpmyadmin 新创建的数据库。之后,在您的数据库主机的根 wp-config 文件中添加凭据,并添加define( 'WP_HOME', 'http://example.com' ); define( 'WP_SITEURL', 'http://example.com' );使用连接到您的主机的域名更新了 example.com。到你的 wp-config 文件。其他方式使用 Duplicator 插件来轻松迁移站点如果要创建许多子站点,则需要在 word-press 中使用多站点网络,这样您就可以为不同的位置创建单独的站点。
打开App,查看更多内容
随时随地看视频慕课网APP