如何在Wordpress中自定义类别页面?

时间:2015-12-16 11:13:44

标签: php wordpress

我正在使用wordpress创建一个博客,我正在使用DIVI主题,我需要更改博客类别页面的外观......

最简单的方法是什么?

我明白我应该在编辑器中查找category.php并创建一个新的php文件,但我找不到任何东西......

2 个答案:

答案 0 :(得分:0)

您可以在主题文件夹中找到category.php,并根据您的要求进行自定义。

如果您的主题中不存在category.php文件,那么您可以使用category.php名称创建一个新文件并进行自定义,当您显示类别帖子时,它将自动使用此文件。

您需要创建类别模板,如下所示:

<?php
        /**
    * A Simple Category Template
    */

    get_header(); ?> 

    <section id="primary" class="site-content">
    <div id="content" role="main">
    <?php 
    // Check if there are any posts to display
    if ( have_posts() ) : ?>

    <header class="archive-header">
    <?php
    // Since this template will only be used for Design category
    // we can add category title and description manually.
    // or even add images or change the layout
    ?>

    <h1 class="archive-title">Design Articles</h1>
    <div class="archive-meta">
    Articles and tutorials about design and the web.
    </div>
    </header>

    <?php

    // The Loop
    while ( have_posts() ) : the_post();
    <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
    <small><?php the_time('F jS, Y') ?> by <?php the_author_posts_link() ?></small>

    <div class="entry">
    <?php the_excerpt(); ?>

     <p class="postmetadata"><?php
      comments_popup_link( 'No comments yet', '1 comment', '% comments', 'comments-link', 'Comments closed');
    ?></p>
    </div>

    <?php endwhile; // End Loop

    else: ?>
    <p>Sorry, no posts matched your criteria.</p>
    <?php endif; ?>
    </div>
    </section>

    <?php get_sidebar(); ?>
    <?php get_footer(); ?>

答案 1 :(得分:0)

首先,如果您的主题文件夹中确实存在名为category.php的文件,那么按照@Lalji Nakum关于直接编辑文件的建议是不明智的。这意味着您可能会在将来的主题更新中丢失所有更改。相反,您应该创建一个包含ID或您想要更改的类别的slug的模板文件。如果要更改所有类别的显示方式,您应该创建一个子主题 - 持有您自己的category.php版本。

如果主题文件夹中没有category.php,则表示主题在archive.php或index.php中控制此视图。 WordPress遵循严格的层次结构,寻找显示类别的方法。然后,您将创建该文件,并对它们的显示方式进行任何更改。这里的问题可能是你必须从头开始。另一种方法是回退到子主题解决方案,跟踪实际上您的主题控制视图的位置(在前面提到的两个文件中的任何一个中),将文件复制到新的子主题中并在此处进行更改。 / p>

现在已确定您的主题中没有category.php。您必须先选择。这是最好的一个:

  1. 在主题文件夹中创建category.php。
  2. 从头开始创建文件的内容。一个好的起点就在这里:

        <div id="container">
            <div id="content" role="main">
    
                <h1 class="page-title"><?php
                    printf( __( 'Category Archives: %s', 'twentyten' ), '<span>' . single_cat_title( '', false ) . '</span>' );
                ?></h1>
                <?php
                    $category_description = category_description();
                    if ( ! empty( $category_description ) )
                        echo '<div class="archive-meta">' . $category_description . '</div>';
                get_template_part( 'loop', 'category' );
                ?>
    
            </div><!-- #content -->
        </div><!-- #container -->
    
  3. 对模板进行所有需要的更改。

  4. 完成!
  5. 创建子主题非常简单,在此解释:https://codex.wordpress.org/Child_Themes

    此外,您似乎希望从编辑器创建文件。这不是内置的功能,但可以通过这样的创意解决方案来管理:http://ronangelo.com/create-new-theme-file-in-wp-admin-without-ftp/。不过,更好的选择是使用ftp / ssh。

    详细了解类别模板(包括提及的层次结构)如何在此处运行:https://codex.wordpress.org/Category_Templates