3
我在Wordpress頁面中使用exec-php插件創建了一個聯繫表單,並使用val來運行代碼。但是,Wordpress重寫系統似乎會覆蓋發送到頁面的發佈表單數據。有什麼方法可以確保這些數據通過?所有我在我的,htaccess是標準的WP重寫塊。你能從Wordpress頁面訪問POST變量嗎?
我在Wordpress頁面中使用exec-php插件創建了一個聯繫表單,並使用val來運行代碼。但是,Wordpress重寫系統似乎會覆蓋發送到頁面的發佈表單數據。有什麼方法可以確保這些數據通過?所有我在我的,htaccess是標準的WP重寫塊。你能從Wordpress頁面訪問POST變量嗎?
是的,你可以訪問Wordpress頁面中的forrm POST變量。
我創建了一個頁面模板是這樣的:
<?php
/*
Template Name: Page with Form
*/
?>
<?php get_header(); ?>
<div id="content" class="widecolumn">
<?php
var_dump($_POST);
if (have_posts()) : while (have_posts()) : the_post();?>
<div class="post">
<h2 id="post-<?php the_ID(); ?>"><?php the_title();?></h2>
<div class="entrytext">
<?php the_content('<p class="serif">Read the rest of this page »</p>');?>
</div>
</div>
<?php endwhile; endif; ?>
<?php edit_post_link('Edit this entry.', '<p>', '</p>'); ?>
</div>
<form id="test" method="post">
<input id="srchbox" name="term" size="28" value="" type="text">
<input name="submit" value="Submit" align="absmiddle" type="submit">
</form>
<?php get_footer(); ?>
然後,我通過WordPress管理面板中創建一個頁面,上面的頁面模板使用。
你可以看到我在這個頁面模板中有一個樣本表單「測試」。現在,當我在我的瀏覽器訪問新創建的頁面,進入形式一些文本並提交我得到這個爲var_dump($_POST);
線形式:
array(2) {
["term"]=>string(7) "foo-bar"
["submit"]=>string(6) "Submit"
}
正如你所看到的WordPress不會中斷任何東西,你的頁面有充分訪問您的$_POST
陣列的表單POST變量。
您是將頁面重寫爲規範URL還是僅使用index.pphp?page = [ID]? – MarathonStudios 2011-04-25 03:37:36
我沒有在URL中使用頁面標識,我使用的是固定鏈接結構:'/ site /%postname%'。所以我的URL永遠不會有'?p = 123'類型的QUERY_STRING。 – anubhava 2011-04-25 03:41:49