dongmao4486 2016-01-11 21:20
浏览 117
已采纳

在Wordpress页面中读取POST数据

I am trying to write a plugin for wordpress. I have a problem i can't solve.

Inside plugin i habe added a shortcode that show a form.

function showForm() {
    echo '<form method="post" action="www.example.com/myDestinationPage">';
    [...]
}

add_shortcode( 'ShowFormSC' , 'showForm' );

After that, in a page, i added the shortcode and it works perfectly. ;-)

Now the problem: how can i read POST data in myDestinationPage (another wordpress page)?

In Php would be very simple ... but in wordpress I do not know how to do.

Second problem: myDestinationPage must be a real wordpress page with another shortcode inside, or can be defined as a "virtual" page inside my plugin?

Thank you for your help!

Best Regards, Simone

  • 写回答

2条回答 默认 最新

  • doutingyou2198 2016-01-11 21:37
    关注

    www.example.com/myDestinationPage needs to be edited to recieve the post data, just as in any other php script, wordpress or not. If 'myDestinationPage' resolves to dynamic wordpress content, then you are in muddy waters.

    Let's say, myDestinationPage is a wordpress Post. That "page" doesn't exist as a file, it comes directly from the database.

    You could write a shortcode which handles this though:

    add_shortcode('post_parser', 'postParser');
    . . .
    function postParser() {
      filter_input(INPUT_POST, 'my_post_value');
      //do something
    }
    

    Then, you just add the '[post_parser]' shortcode to the myDestinatioPage Post. (You mentioned it's a wordpress page, but page & post are both WP_Post objects.)

    Another option is to put your post processing code in the post.php (or whichever template myDestinationPage is).

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?