我刚刚了解到,可以创建不同的标题。通过创建一个新文件并将其命名为:header myname,可以在主题中创建php文件。php。
要调用,我将使用如下标题模板标记:
get_header( \'myname\' );
但是那样我就必须把我的文件放在我的主题的主目录中,对吗?因此,我的问题是:有没有办法将自定义头文件放入子目录,如果有,如何使用get\\u header()标记声明其位置?
我刚刚了解到,可以创建不同的标题。通过创建一个新文件并将其命名为:header myname,可以在主题中创建php文件。php。
要调用,我将使用如下标题模板标记:
get_header( \'myname\' );
但是那样我就必须把我的文件放在我的主题的主目录中,对吗?因此,我的问题是:有没有办法将自定义头文件放入子目录,如果有,如何使用get\\u header()标记声明其位置?
不适用于get_header()
, 不,正如你在the source 属于get_header()
参数只需附加到文件名并在根主题目录中搜索:
$name = (string) $name;
if ( \'\' !== $name ) {
$templates[] = "header-{$name}.php";
}
$templates[] = \'header.php\';
locate_template( $templates, true );
据我所知,这里没有有用的过滤器。像Justin Tadlock noted, 这种过滤器的缺乏已经持续了8年。下一个最好的方法是get_template_part()
而是:
get_template_part( \'subdirectory/header\', \'myname\' );
但您也需要在子目录中使用常规标题。这样做你唯一会错过的是get_header()
钩子不会开火。但您可以通过将其放在自定义模板的开头来解决这一问题:
do_action( \'get_header\' );
或对于自定义模板:do_action( \'get_header\', \'myname\' );
但老实说,我不确定这个钩子的使用范围有多广,因为它不是很有用。你也许可以把它漏掉。否。函数将添加字符串"header-{$name}.php"
以搜索模板。你不能预先准备好它。
然而,如果你不在get_header
行动,你也可以使用get_template_part()
, 因为这些功能的工作原理非常相似。
get_template_part(\'subdir/header\', \'my\');
将在中查找文件subdir/header-my.php.我目前正在将一个基于其他CMS的旧网站移动到一个新服务器上,使用WordPress。然而,这个网站在Google上排名很好,我必须保留所有的链接结构,包括来自图片的链接结构。因此,在旧CMS中,图像链接如下:http://www.domain-name.de/images/image1.jpg 现在,他们是这样的:http://www.domain-name.de/wp-content/themes/theme-name/images/image1.jpg 但它们必须与第一个示例中的一