我正在开发一个它几乎完成的主题现在我正在尝试制作一个演示,因为我有不同的主页布局,如网格,全宽,砖石等等。我想创建一个具有所有不同布局的主页但是什么是最好的有效使用布局的方法
像这个主题的http://solopine.com/redwood/?home_layout=list一样,他们在逻辑上用url处理模板部分。我该怎么办?
答案 0 :(得分:0)
要使用url值动态加载页面布局,您必须使用php _GET form方法和一些编程逻辑来检查值。在这里它是这样的:
假设您有3个不同的自定义布局页面,名为... grid-layout.php
fullwidth-layout.php
,最后一个是masonary-layout.php
。 请记住您必须使用wp自定义链接系统创建手动菜单页面。喜欢这个
使用自定义固定链接创建三个不同的页面.....让我们说将此代码放入URL框
使用您自己的网站地址更改yoursite.com。“ layout = ”之后的任何内容都是get方法的值。
类似于网址框,将此名称或任何内容放入“链接文本”框中:
如果已完成,那么请继续我们的编码部分。
找到您网站的while ( have_posts() ) : the_post();
循环所在的位置,搜索......搜索..... ow!找到了?? Congrates!在下面放置代码以获取url值以动态更改站点的布局。
<?php
$layout = $_GET['layout'];
switch ($layout) {
case 'grid': get_template_part( 'layouts/grid', 'layout' );
break;
case 'masonary': get_template_part( 'layouts/masonary', 'layout' );
break;
case 'fullwidth': get_template_part( 'layouts/fullwidth', 'layout' );
break;
default: get_template_part( 'layouts/content', 'single' );
break;
}
?>
注意: layouts/
是模板文件所在的目录文件夹,如grid-layout.php,masonary-layout.php等。
以上代码经过测试并且工作正常如果您有任何问题然后让我知道,如果它有效,然后upvote它并接受它作为答案,以便其他人可以知道这些代码有效....谢谢