WordPress 5.7.2多域名指向同一网站根据来源域名不同返回不同的网站标题

以前备案了多个独立网站,每次注册的时候,提交备案域名的网站标题都是不同的。现在多个网站同时指向了同一台服务器,现在就需要根据来源域名的不同,返回不同的网站标题信息,解决方法就是写自定义的拦截插件。

<?php
// 根据域名的来源不同,返回不同的网站标题
    function domain_page_title($title)
    {
        $domain = $_SERVER['HTTP_HOST'];
        if((0 == strcasecmp('www.mobibrw.com',$domain)) || (0 == strcasecmp('mobibrw.com',$domain))) { 
            $title['title'] = '深海游弋的鱼'; //网站描述
        }
        return $title;
    }
    add_filter('document_title_parts', 'domain_page_title', 10, 1);
?>

在主题functions.php中添加如上代码,用来自定义分隔符号和对已生成的title标题进行二次修改。

参考链接


Shell while循环修改外部变量无效

工作中想遍历文件中的每行,并且赋值给一个变量,使用下面写法,但是循环遍历后变量依然为空,值没有变化。如下:

$ cat temp.txt
http://www.baidu.com
http://www.jd.com
http://www.huawei.com

$ cat temp.sh

#! /bin/bash
file_path=temp.txt
new_var=''
cat ${file_path} | while read line
do
    new_var="${new_var}${line};"
    echo ${line}_____
done
echo "${new_var}+++++"

$ source temp.sh
http://www.baidu.com_____
http://www.jd.com_____
http://www.huawei.com_____
+++++

上面未赋值成功是因为使用了管道符,将值传给了while,使得while在子shell中执行,子shell中的变量等在循环外无效。

可以写为:

$ cat temp.sh

#! /bin/bash
file_path=temp.txt
new_var=''
while read line
do
    new_var="${new_var}${line};"
    echo ${line}_____
done <<< "$(cat ${file_path})"
echo "${new_var}+++++"

$ source temp.sh
http://www.baidu.com_____
http://www.jd.com_____
http://www.huawei.com_____
http://www.baidu.com;http://www.jd.com;http://www.huawei.com;+++++

或者:

$ cat temp.sh

#! /bin/bash
file_path=temp.txt
new_var=''
while read line
do
    new_var="${new_var}${line};"
    echo ${line}_____
done < ${file_path}
echo "${new_var}+++++"

$ source temp.sh
http://www.baidu.com_____
http://www.jd.com_____
http://www.huawei.com_____
http://www.baidu.com;http://www.jd.com;http://www.huawei.com;+++++

或者指定换行符读取:

#! /bin/bash  
  
IFS="  
"  
  
for LINE in `cat /etc/passwd`  
do   
  echo $LINE 
done

或者用read读取文件重定向:

#! /bin/bash  
  
while read LINE
do
  echo $LINE 
done < /etc/passwd

参考链接