web-dev-qa-db-ja.com

ショートコードを使用して入力フィールドを追加および送信する方法

ユーザーログインなしで投稿を追加して送信するにはどうすればよいですか。つまり、オフラインユーザーは、PHPの単純なフォームのように、WordPressにコンテンツを追加して送信できるということです。

私はこのコードを試してみました:

public function add_shortcode_fileds() {
    add_shortcode( 'add_fields', 'input_fields' );
    function input_fields( $atts ) {
        $atts='<form method="post" action="">';
        $atts.='<input type="text">';
        $atts.='<input type="submit">';
        $atts.='</form';
        return $atts;
    }
}
1

このようにショートコードを作成することができます。

add_shortcode( 'add_fields', 'input_fields' ); 
function input_fields( $atts ) {
    if ( isset( $_POST['gg'] ) ) {
        $post = array(
            'post_content' => $_POST['content'], 
            'post_title'   => $_POST['title']
        );
        $id = wp_insert_post( $post, $wp_error );
    }
    ?> 
    <form method = "post">
        <input type="text" name="title">
        <input type="text" name="content">
        <input type="submit" name="gg">
    </form>
    <?php
}

これは単なる使用例です。詳細は ここで で確認できます。

4
dev