Wordpress 表单处理
Wordpress Form Processing
我在我的 wordpress 站点上创建了一个表单,一个用于处理位于 functions.php 中的数据的函数,以及一个操作 php 文件。我已经测试了处理功能并且知道它可以工作,但是我无法让所有东西与 wordpress 通信。
update_item_meta.php 位于我的主题目录中。
表单开始标记
<form method="post" id="project-info" action="/wp-content/themes/Avada/update_item_meta.php">
update_item_meta.php
<?php
//connect to WP
define('WP_USE_THEMES', false);
require('../../../wp-load.php');
//call function from functions.php to process form data
update_item_meta_data();
?>
注:wp-load.php位于主站根目录
如果有人能帮助我,我将不胜感激。如果我不得不猜测这是表单操作中 update_item_meta.php 或 update_item_meta.php 的路径问题,但我一直无法弄清楚。
action="/wp-content/themes/Avada/update_item_meta.php"
您显然不会直接调用 php 文件加载 wp,使用相对路径加载 wp 是有问题的。
在 wp 中处理表单的最佳方法是 post 到相同的 url:
action="#"
带有隐藏输入的唯一字段以标识您的表单,并在您的函数文件中有一个函数来获取 post 操作....
if($_POST['unique']){
require_once 'yourfile.php';
//or your form process code here
}
action="#"
并在模板文件中放置处理 post 的代码(不是 wp 方式,但有助于防止加载与页面。
两种方式都会为您加载 wp,而无需手动加载。
我在我的 wordpress 站点上创建了一个表单,一个用于处理位于 functions.php 中的数据的函数,以及一个操作 php 文件。我已经测试了处理功能并且知道它可以工作,但是我无法让所有东西与 wordpress 通信。
update_item_meta.php 位于我的主题目录中。
表单开始标记
<form method="post" id="project-info" action="/wp-content/themes/Avada/update_item_meta.php">
update_item_meta.php
<?php
//connect to WP
define('WP_USE_THEMES', false);
require('../../../wp-load.php');
//call function from functions.php to process form data
update_item_meta_data();
?>
注:wp-load.php位于主站根目录
如果有人能帮助我,我将不胜感激。如果我不得不猜测这是表单操作中 update_item_meta.php 或 update_item_meta.php 的路径问题,但我一直无法弄清楚。
action="/wp-content/themes/Avada/update_item_meta.php"
您显然不会直接调用 php 文件加载 wp,使用相对路径加载 wp 是有问题的。
在 wp 中处理表单的最佳方法是 post 到相同的 url:
action="#"
带有隐藏输入的唯一字段以标识您的表单,并在您的函数文件中有一个函数来获取 post 操作....if($_POST['unique']){ require_once 'yourfile.php'; //or your form process code here }
action="#"
并在模板文件中放置处理 post 的代码(不是 wp 方式,但有助于防止加载与页面。
两种方式都会为您加载 wp,而无需手动加载。