是否将默认模板设为两列?

时间:2016-02-17 作者:Richard

我相信这一定非常简单,但谷歌并没有帮我!

我使用的是最新的WordPress,我的博客部分有两列布局(左侧内容,右侧推特提要),我对此非常满意。这是使用Appearance > Widgets

现在,我想对我的所有页面使用完全相同的布局,这些页面目前是单列的。

我该怎么做?我需要使用PHP吗?

如果我打开一个页面的编辑器并选择“Blog”作为模板,那么整个页面将替换为我的Blog。

2 个回复
SO网友:Vasim Shaikh

1. Add .php in wp-content/themes/

<?php
/**
 * Template Name: <subpage-name>, left sidebar
 * Description: A one-colum template with left sidebar for <subpage-name> ONLY
 */
get_header(); ?>

2. Copy full-width page basic codes.

3. Add new div for

<div id="main" class="<subpage-name>-right clearfix" role="main">

                <?php while ( have_posts() ) : the_post(); ?>

                <?php get_template_part( \'content\', \'page\' ); ?>

                <?php comments_template( \'\', true ); ?>

                <?php endwhile; // end of the loop. ?>

            </div>
        <div id="main" class="<subpage-name>-left clearfix">
</div>

4. Set style in css.

div#main.<subpage-name>-left{width:240px;float:left;}
div#main.<subpage-name>-right{width:780px;float:right;}
article{margin-top: -44px;}

SO网友:Megan Rose

要做到这一点,实际上有两种方法。您可以创建一个模板(必须为每个页面选择),也可以替换page.php. 由于主题不是由您编写的,因此您应该使用子主题,以便您仍然可以从创建者处接收主题的更新。将代码与主题中的代码分开是一种很好的做法,因此无论是制作自己的模板,还是创建新的模板page.php, 您应该使用子主题。

如果你不懂PHP,听起来可能会让人望而生畏,但如果你熟悉HTML/CSS,那也不错。

子主题中存在的任何文件都将替代父主题中的文件。因此,您必须在下面创建一个新目录wp-content/themes 使用style.cssfunctions.phpdescribed here.

设置完子主题后,只需创建一个新的page.php 它具有两列布局模板中的结构/HTML,但使用WordPress函数来显示内容本身。(另外,请确保复制get_header();get_footer(); 新文件中的位—它们完全按照听起来的方式执行。)

因此,主/左侧部分将包含以下内容(或类似内容):

<?php
// Start the loop.
while ( have_posts() ) : the_post();

    // Include the page content template.
    get_template_part( \'content\', \'page\' );

    // If comments are open or we have at least one comment, load up the comment template.
    if ( comments_open() || get_comments_number() ) :
        comments_template();
    endif;

// End the loop.
endwhile;
?>
您的右侧/侧栏部分将包含以下内容(或类似内容):

<?php if ( is_active_sidebar( \'sidebar-1\' ) ) : ?>
    <div id="widget-area" class="widget-area" role="complementary">
        <?php dynamic_sidebar( \'sidebar-1\' ); ?>
    </div><!-- .widget-area -->
<?php endif; ?>
(这是它获取您在Appearance > Widgets 第页。)

--

尽管如此,如果您对HTML和CSS感到满意,那么这应该不会太难实现。我不确定你的经历是什么,所以我不想做任何假设。确实没有“更简单”的方法可以做到这一点,因为您正在创建一个全新的模板。您的主题的“博客”模板将始终检索博客帖子,因为这是他们设置的方式。如果您不喜欢使用PHP文件,可以建议主题作者添加一个可以使用的两列模板。

祝你好运!

参考号:https://codex.wordpress.org/Child_Themes#Template_Files

相关推荐

MANAGE_USERS_CUSTOM_COLUMNS筛选器不触发回调函数

我使用以下函数向users表中添加了一些自定义列 public function modify_users_columns( $column_headers ) { //Remove email, role, and posts column unset( $column_headers[\'email\'], $column_headers[\'role\'], $column_headers[\'posts\'] ); //Add sponsor