0

我们没有想法。我们也尝试了很多。

在 Wordpress 中,我们需要更改几个页面的“site_url”(因为脚本、图像等也需要在没有太多更改的情况下工作)。其余页面保持正常的site_url。

原因:我们想使用如下所示的共享 SSL: https ://www.the-shared-ssl.com/www.our-website.com

所以我们需要改变这几个页面(不是所有页面)的site_url。

我们尝试了 Wordpress HTTPS 插件,它不适用于我们的主机。我们还尝试在 wp-config.php 中添加“if”语句,它也不起作用。如果有没有htaccess的解决方案就好了

有没有代码大师可以帮助我们?

4

1 回答 1

0

site_url() 调用函数 get_site_url(),它在 wp_options 表中查找名为“site_url”的选项。更改配置文件不会对其产生任何影响。

您可以做的是在需要使用其他内容的页面上对 site_url 应用过滤器。get_site_url() 函数的最后一部分内容如下:

return apply_filters('site_url', $url, $path, $scheme, $blog_id);

因此,如果您想修改返回的值,请将类似这样的内容添加到主题的 functions.php 文件中:

add_action('template_redirect', 'modify_site_url');

function modify_site_url(){
/** check if you're on one of the pages that requires the change */
if(is_page(array('page-one', 'page-two'))){
 add_filter('site_url', 'new_site_url', 10, 4);
}
}


function new_site_url($url, $path, $scheme, $blog_id){
 /** modify the url here */
 $url = whatever you want it to be;
return $url;
}

在 new_site_url 函数中,它不使用附加参数($path、$scheme、$blog_id),但您可以使用这些参数来进一步细化 url 的修改方式。

于 2013-07-26T20:20:15.487 回答