我在哪里添加Wordpress自定义模板中的自定义PHP代码?

时间:2014-08-01 18:41:00

标签: php wordpress forms templates

Hy all!根据我的阅读,将PHP代码添加到wordpress页面的最佳方法是通过自定义模板。所以我从主题中获取了 page.php ,并使用html代码进行了自定义,没有任何问题。问题出在PHP代码上。无论我在哪里添加它,它都不起作用。

我的问题是我在哪里为表单验证添加自定义PHP代码?

页面如下所示:

/*
Template Name: example
*/

<?php
get_header();
if ($tempera_frontpage=="Enable" && is_front_page()): get_template_part( 'frontpage' );
else :
?>

<section id="container" class="<?php echo tempera_get_layout_class(); ?>">
<div id="content" role="main">
<?php cryout_before_content_hook(); ?>
<?php get_template_part( 'content/content', 'page'); ?>

I added the HTML code here:  

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?> " >
.....
</form>

<?php
endif;
get_footer();
?>

3 个答案:

答案 0 :(得分:0)

根据this,您将在HTML之前添加它,位于代码顶部附近。

答案 1 :(得分:0)

基本上它是PHP并且应该可以工作,如果要在同一模板文件中验证表单,请使用空操作属性:

<form method="post" action="">
.....
</form>

并确保不要在表单元素名称属性上使用WordPress保留字,例如name

在文件的顶部,您可以验证并验证表单发送的所有请求与任何其他PHP文件一样。

<?php
if (!empty($_POST)) {
  //validate or do something here
}
get_header();
if ($tempera_frontpage=="Enable" && is_front_page()): get_template_part( 'frontpage' );
else :
?>

希望这个解决方案可以帮助你。

答案 2 :(得分:0)

我以为你应该修改content-page.php模板。请注意,页面模板使用以下命令调用它:

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

在内容模板中,您应该看到类似

的内容
<?php the_content(); ?>

如果你在下一行添加表单html,它将在同一个div中,类似于

<div class="entry-content>
</div>

这样,新内容将与其他内容放在同一个容器中,并按其设置样式。