Single page template

时间:2011-11-07 作者:BillPull

我正在尝试为自定义页面类型创建一个模板,该模板将在该类型的每个页面上放置相同的数据。唯一的问题是我看到了自定义页面类型的示例,但只使用循环。如果是单页,是否必须使用循环。我将如何在这里填写数据,如标题和内容。

<?php
/*
Template Name: Use Case Template
*/
?>
<?php get_header(); ?>

<div class="wrap">

    <div class="leftcol">

        <h3 class="usehd">
            TITLE
        </h3>

        <div class="hd-div">

        </div>
        <div class="use-content">
            CONTENT
        </div>

    </div>

    <div class="rightcol">

        <div class="sideform">

            <form name="usecase" id="usecase">

                <label>Email</label><br>

                <input type="text" name="email" class="txtinput" />

                <br>

                <label>Full Name</label><br>

                <input type="text" name="fullname" class="txtinput" />

                <br>

                <label>Company Name</label><br>

                <input type="text" name="company" class="txtinput" />

                <br>

                <label>Number of employees</label><br>

                <select name="employeenum" class="useselect">

                    <option value="10">10</option>

                    <option value="100">100</option>

                    <option value="1000">1000</option>

                    <option value="9999">1000+</option>

                </select>

                <br>

                <input type="submit" value="Submit" class="usecasesubmit" />

            </form>

        </div>

    </div>

</div>
   <?php get_footer(); ?>

3 个回复
最合适的回答,由SO网友:Kevin Langley Jr. 整理而成

是的,即使对于自定义页面模板,也需要有一个循环才能获取标题和内容。

请尝试以下操作:

<?php
/*
Template Name: Use Case Template
*/
?>
<?php get_header(); ?>

<div class="wrap">
<?php if(have_posts()): while(have_posts()): the_post; ?>
<div class="leftcol">

    <h3 class="usehd">
        <?php the_title(); ?>
    </h3>

    <div class="hd-div">

    </div>
    <div class="use-content">
        <?php the_content(); ?>
    </div>

</div>

<div class="rightcol">

    <div class="sideform">

        <form name="usecase" id="usecase">

            <label>Email</label><br>

            <input type="text" name="email" class="txtinput" />

            <br>

            <label>Full Name</label><br>

            <input type="text" name="fullname" class="txtinput" />

            <br>

            <label>Company Name</label><br>

            <input type="text" name="company" class="txtinput" />

            <br>

            <label>Number of employees</label><br>

            <select name="employeenum" class="useselect">

                <option value="10">10</option>

                <option value="100">100</option>

                <option value="1000">1000</option>

                <option value="9999">1000+</option>

            </select>

            <br>

            <input type="submit" value="Submit" class="usecasesubmit" />

        </form>

    </div>

</div>
<?php endforeach; endif; ?>
</div>
<?php get_footer(); ?>

SO网友:Rarst

虽然模板通常涉及循环,但原因是即使在单帖子模板的sace中,从技术上讲,这仍然是单帖子的循环。

例如,您应该只研究现有模板that of Twenty Eleven, 并将同样的逻辑应用于您的。

SO网友:Jeremy Jared

为什么不将自定义内容保存为单独的文件。

Example:

使用您的代码:

<div class="wrap">
  <div class="leftcol">
    <h3 class="usehd">TITLE</h3>
    <div class="hd-div"></div>
    <div class="use-content">CONTENT</div>
  </div>
  <div class="rightcol">
    <div class="sideform">
      <form name="usecase" id="usecase">
        <label>Email</label><br />
          <input type="text" name="email" class="txtinput" />
          <br />
        <label>Full Name</label><br />
          <input type="text" name="fullname" class="txtinput" />
          <br />
        <label>Company Name</label><br />
          <input type="text" name="company" class="txtinput" />
          <br />
        <label>Number of employees</label><br />
        <select name="employeenum" class="useselect">
          <option value="10">10</option>
          <option value="100">100</option>
          <option value="1000">1000</option>
          <option value="9999">1000+</option>
        </select>
        <br />
        <input type="submit" value="Submit" class="usecasesubmit" />
      </form>
    </div>
  </div>
</div>
您可以将其另存为表单。php

然后在自定义模板中使用以下内容:

<?php
/*
Template Name: Use Case Template
*/
get_header(); ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>  
  <?php the_content(); get_template_part(\'form\') ?>
  <?php endwhile; else : endif; ?>  
<?php get_footer(); ?>
使用代码get\\u template\\u part调用表单。php文件转换为模板文件。这样,如果表单是自定义post类型,则可以使用条件语句包含表单。You wouldn\'t need the custom template if you use the conditional statement to call the form.php from an existing template.

结束

相关推荐

Enable page templates. How?

基本问题,但我想启用页面模板。我有一个启用了页面模板的主题。我切换到了另一个模板,但没有更改模板的选项,即使在创建新页面时也是如此。如何打开此选项?我在抄本和论坛上找到了根,但找不到。