【问题标题】:how to change the site to particular location in wordpress如何将网站更改为wordpress中的特定位置
【发布时间】:2020-04-19 16:18:19
【问题描述】:

例如,

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

所以我打算这样做

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

1.使用geolocation api搜索是否有效, 2.获得经纬度, 3.在cookie中修复它,直到另一个搜索完成更新。

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

【问题讨论】:

  • 所以我假设你的城市是你的类别。因此,如果您的类别链接将是“site.com/cat1”并且其下的帖子将类似于“site.com/cat1/post1”但是其他页面如联系我们呢?我问 bcoz 是否可以让您的网站读取 site.com/cat1,但是当您输入“site.com/contactus”时,它会认为这与我们联系也是单独的类别。只是一个想法。
  • @Alice 谢谢,我的网站是目录列表。因此,如果用户键入 domain.com/london。我需要该站点显示与伦敦有关的所有内容。任何插件我们也有帮助。或者任何可用于在执行搜索之前获取 url 中的搜索字符串的钩子。我试过pre_get_postsparse_query 但无法到达伦敦
  • 不是一个钩子,你首先关心的应该是 .htaccess 从 url 和永久链接读取它(伦敦)。浏览一下你会发现的内容。
  • 我正在使用 listo wordpress 主题,因为地理位置是自动检测的,同样我需要检查该字符串 domain.com/london,如果它是我需要更改查询的地方,如果它是页面 domain.com/contact 则需要执行正常搜索。
  • 那么现在如果您输入 site.com/london 会显示什么?页面找不到?如果是这样....你能检查一下 query_vars 吗?如果是(伦敦存在于 query_args 中),那么 pre_get_posts 可能会有所帮助

标签: php wordpress search filter hook


【解决方案1】:

手动方式只是将所有文件移动到服务器和数据库到 phpmyadmin 新创建的数据库。

之后,在您的数据库主机的根 wp-config 文件中添加凭据并添加

define( 'WP_HOME', 'http://example.com' );
define( 'WP_SITEURL', 'http://example.com' );

使用连接到您的主机的域名更新了 example.com。

到你的 wp-config 文件。

其他方式使用复制器插件来轻松迁移网站

如果要创建多个子站点,则需要使用多站点 在 word-press 网络中,您可以创建单独的站点 不同的地点。

【讨论】:

  • 如果用户搜索 domain.com/london 意味着需要按照您的建议创建另一个站点?这不是正确答案,与我的问题无关。
  • 是的,如果您想在 /london 而不是根 domain.com 上运行站点,您可以在配置 url 中传递 domain.com/london 以获得相同的文件以及具有提到的文件夹名称的文件
  • 我的问题与特定领域的搜索完全相关。未配置/映射到子文件夹
  • 是的,如果你想为 /london 创建一个不同的站点,那么你需要为 london 创建一个其他方式是启用多站点网络,您可以在其中从同一个管理员创建尽可能多的站点
  • 你知道justdial,他们是否在为每个位置运行每个站点?
【解决方案2】:

终于发现,在显示404页面之前有个钩子,

因此,使用$wp_query->query['name'] 来获取搜索查询文本,即伦敦或多伦多。

然后,我使用谷歌地图 API 检查了有效地点。一旦它有效,我就会重定向到具有该位置的搜索 url。我在带有地理位置的主题正常搜索中找到了它。请在您的主题functions.php中使用以下代码。

在某些地方我使用了我的主题功能

  1. fw_get_db_settings_option
  2. 在 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;
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-29
    • 1970-01-01
    • 1970-01-01
    • 2018-06-02
    相关资源
    最近更新 更多