2011-04-25 10 views
3

저는 wordpress 페이지 안에 PHP로 연락처 양식을 작성했습니다. exec-php 플러그인을 사용하여 코드를 실행하고 코드를 실행했습니다. 그러나 Wordpress 다시 쓰기 시스템은 페이지로 전송되는 게시 된 양식 데이터를 무시하는 것으로 보입니다. 이 데이터가 전달되도록하는 방법이 있습니까? 내 모든 것, htaccess는 표준 WP 재 작성 블록입니다.Wordpress 페이지에서 POST 변수에 액세스 할 수 있습니까?

답변

6

예, 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 &raquo;</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">&nbsp; 
    <input name="submit" value="Submit" align="absmiddle" type="submit"> 
</form> 
<?php get_footer(); ?> 

가 그럼 난 워드 프레스 관리자 패널을 통해 페이지를 생성하고 페이지 템플릿 이상 사용 :

는이 같은 페이지 템플릿을 만들었습니다.

이 페이지 템플릿에는 "test"샘플 양식이 있습니다. 내 브라우저에서 새로 만든 페이지를 방문하여 양식에 텍스트를 입력 내가 var_dump($_POST); 라인이있어 양식을 제출 이제 때 당신은 워드 프레스 아무것도 방해하지 않습니다 볼 수 있듯이

array(2) { 
    ["term"]=>string(7) "foo-bar" 
    ["submit"]=>string(6) "Submit" 
} 

는 페이지 전체가 양식 POST 변수에 대한 $_POST 배열에 대한 액세스.

+0

페이지를 표준 URL로 다시 쓰거나 아니면 index.pphp를 사용하고 있습니까? page = [ID]? – MarathonStudios

+0

URL에 페이지 아이디를 사용하지 않고 Permalink 사용자 정의 구조를 :/site/% postname %'으로 사용하고 있습니다. 따라서 내 URL에는'? p = 123' 유형의 QUERY_STRING이 없습니다. – anubhava

관련 문제