我创建了一个插件,可以创建一个带有联系人表单的页面。。
我已经到了创建插件激活页面的地步,但我不知道如何给post\\u内容一个do\\u操作
这是我的创建页面功能
function ap_post_creation() {
global $wpdb;
$user_id = get_current_user_id();
//$content = do_action(\'show-ap-form\');
$args = array(
\'post_author\' => $user_id,
\'post_content\' => \'Hallo\',
\'post_title\' => \'Contact\',
\'post_status\' => \'publish\',
\'post_type\' => \'page\',
\'comment_status\' => \'closed\',
);
wp_insert_post($args);
}
这是我的add\\u action函数
<?php
add_action(\'show-ap-form\', \'show_ap_form\');
function show_ap_form() {
if(isset($_POST[\'submit\'])) {
}
?>
<form method="post">
<input type="text" name="name" placeholder="Enter your name">
<input type="text" name="email" placeholder="Enter your e-mail">
<textarea name="message" placeholder="Enter your message"> </textarea>
</form>
<?php
}
?>
如何将联系人表单附加到新创建的联系人页面?
最合适的回答,由SO网友:Jevuska 整理而成
@Peter van der Net,这里是我的方法,我创建shortcode 对于新创建的页面。所以,我们不必将元素表单保存到数据库中,而且如果用户需要通过快捷代码将表单移动到另一个页面,这会很容易。对于提交,我使用钩子wp
并处理表单提交的数据。对于您的问题,这是我的简单代码,您可以找到它。
function ap_post_creation() {
$user_id = get_current_user_id();
$args = array(
\'post_author\' => $user_id,
\'post_content\' => \'[foobar]\', //shortcode tag
\'post_title\' => \'Contact\',
\'post_status\' => \'publish\',
\'post_type\' => \'page\',
\'comment_status\' => \'closed\',
);
wp_insert_post($args);
}
add_action( \'wp\', \'show_ap_form\' );
function show_ap_form( $wp ) {
if ( isset( $_POST[\'submit\'] ) ) {
//run your stuff here don\'t forget to sanitize
}
}
add_shortcode( \'foobar\', \'ap_shortcode_form\' );
function ap_shortcode_form( $atts ) {
ob_start();
?>
<form method="post">
<input type="text" name="name" placeholder="Enter your name">
<input type="text" name="email" placeholder="Enter your e-mail">
<textarea name="message" placeholder="Enter your message"> </textarea>
<button name="submit"><?php _e( \'Submit\' ) ?></button>
</form>
<?php
$html_form = ob_get_clean();
return $html_form;
}