Wordpress:将“site_url”更改为几页

时间:2013-07-26 16:15:25

标签: php wordpress ssl

我们缺乏想法。我们也尝试了很多。

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

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

因此我们需要更改这几个页面(而不是所有页面)的site_url。

我们尝试过Wordpress HTTPS插件,它不能与我们的主机一起使用。 我们还尝试将一个“if”语句放入wp-config.php中,它也不起作用。 如果有一个没有htaccess的解决方案

会很好

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

1 个答案:

答案 0 :(得分: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),但您可以使用它们来进一步细化网址的修改方式。