我们没有主意。我们也尝试了很多。
在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的解决方案,那将是很好
有没有可以帮助我们的代码专家?
最佳答案
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的修改方式。