在wordpress中创建自定义模板页面导致其他功能停止工作

时间:2015-02-01 08:39:54

标签: php wordpress

我是wordpress的新手,我正在尝试创建自定义模板。我使用默认的二十五主题。我转到wp-content/themes/twentyfifteen并将page.php复制到名为page_with-contact.php的新文件中,并将此评论添加到顶部:

/*
Template Name: Page with contact
*/

我没有对模板进行任何其他更改。 然后我去了管理站点并将其中一个页面更改为"页面,其中包含联系人"。

当我打开页面时,我看到左侧菜单上的词缀不起作用,响应式菜单也不起作用。

我在这里看了一个非常简单的教程,所以我只是想知道我做错了什么。

修改

关注@ masiorama的回答,以下评论创建了一个子主题,将模板文件移动到子主题并将其重命名为page-with-contact.php,这是模板的内容

<?php
/*
Template Name: Page with contact
*/

get_header(); ?>

  <div id="primary" class="content-area">
    <main id="main" class="site-main my-content-page" role="main">

    <?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.
    ?>
      <div class="hentry entry-content contact-form">
        <?php
          echo do_shortcode('[contact-form-7 id="19" title="contact form 1"]');
        ?>
      </div>
    <?php
    // End the loop.
    endwhile;
    ?>

    </main><!-- .site-main -->
  </div><!-- .content-area -->

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

现在我有几个问题:

  1. 正如您所看到的那样,侧边栏,标题和页脚都包含在内,但是词缀和响应式菜单仍然无效。

  2. 联系表格(以前工作正常)现在根本没有显示。

  3. 我无法将父{q} rtl.css文件排入队列。

  4. 感谢任何进一步的指导。

3 个答案:

答案 0 :(得分:1)

据我所知,您的页面文件应该命名为:

page-with-contact.php

而不是:

page_with-contact.php

确保它至少包含一些wordpress函数调用,如:

<?php get_header(); ?>

<!-- stuff -->

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

选中此处了解详情:http://codex.wordpress.org/Page_Templates

答案 1 :(得分:0)

需要这个WordPress hooke来调用你的模板

   

get_header();
get_sidebar();
get_footer();

答案 2 :(得分:0)

您似乎在模板中调用模板。 &#39; get_template_part( 'content', 'page' );&#39;应该是the_content();。很有可能让你烦恼不已。