私はこの問題で数日間苦労しています。フロントエンドのカスタム投稿投稿結果がwp_insert_post()で定義されていません
'/ WP-コンテンツ/プラグイン/私のクール・プラグイン':
私はに位置しているプラグインを、作成しました。
私のプラグインを使用すると、ユーザーはパブリックページのフォームを使用してカスタム投稿タイプを投稿できますが、基本的に誰かが何かを投稿できるはずです。 jQueryを使用して、フロントエンドフォームが送信されたときに聴いて、Ajaxを使用してフォームからデータをPHPファイルに渡してポストに処理します。 このファイルの場所は
'/wp-content/plugins/my-cool-plugin/inc/processor.php'です。私は自分のフォームをテストするとき、それは次のようなエラーになり
$var1= $_POST['some'];
$var2= $_POST['data'];
$new_post = array(
'post_type' => 'my_custom_post',
'post_status' => 'publish',
'mcp_1' => $var1,
'mcp_2' => $var2
);
$post_id = wp_insert_post($new_post, $wp_error);
if ($wp_error == 'false'){
$post_url = get_permalink($post_id);
echo $post_url;
}else {
// some sort of error
}
:以下
は私のプロセッサファイルの内容であるコール未定義の関数wp_insert_postに()ライン上の...どの
$post_id = wp_insert_post($new_post, $wp_error);
私はワードプレスの「スコープ」にいないので、何かを含める必要がありますか? フロントエンドフォームからカスタム投稿を挿入する別の(はるかに良い)方法がありますか?
require(dirname(__FILE__) . '/wp-load.php');
私のファイルはWordPressのスコープにはないので、 'wp-load.php'ファイルは' wp-load.php'ファイルを必要とするファイルのフォルダで探しています。私の '/ wp-content/plugins/my-cool-plugin/inc /'フォルダ内の 'wp-load.php'を探す必要があることを意味します。 – Tomjesch