【问题标题】:how to create a theme demo page with differnet layout options?如何创建具有不同布局选项的主题演示页面?
【发布时间】:2017-02-09 15:19:23
【问题描述】:

我正在开发一个几乎完成的主题我正在尝试制作一个演示,因为我有不同的主页布局,如网格、全宽、砖石等。我想创建一个具有所有不同布局的主页,但什么是最好的有效使用布局的方法

就像http://solopine.com/redwood/?home_layout=list 在这个主题上一样,它们在逻辑上处理带有 url 的模板部分。

我该怎么做???

【问题讨论】:

    标签: wordpress wordpress-theming demo


    【解决方案1】:

    要使用 url 值动态加载页面布局,您必须使用 php _GET 表单方法和一些编程逻辑来检查该值。这里是这样的:

    假设您有 3 个不同的自定义布局页面,名为 ...grid-layout.phpfullwidth-layout.php,最后一个是 masonary-layout.php记住您必须使用 wp 自定义链接系统创建手动菜单页面。像这样

    使用自定义永久链接创建三个不同的页面.....假设将此代码放入 URL 框中

    把yoursite.com改成你自己的站点地址。“layout=”后面的都是get方法的值。

    类似的 url 框把这个名字或任何你想要的东西放到链接文本框中:

    • 网格布局
    • 砌体布局
    • 全宽布局

    如果它完成了,那么让我们继续我们的编码部分。

    查找您网站的while ( have_posts() ) : the_post(); 循环所在的位置正在搜索……正在搜索……哇!找到了??恭喜!将下面的代码放在那里以获取 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 等。

    如果您有任何问题,以上代码已经过测试并且可以正常工作,然后让我知道它是否有效,然后投票并接受它作为答案,以便其他人可以知道此代码有效....谢谢

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多