質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

1321閲覧

WordPressにPHPで記事投稿のフォームを作成しましたが出力された記事のコメントが許可されていません。

StudioCos

総合スコア13

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2018/11/30 07:06

コメントの許可とカテゴリー追加を実現したいです。
ディスカッションより設定は確認済みで記事のコメントは許可するようになっています。
分かる方よろしくお願いいたします。

php

1<?php 2/*画像をアップロードして、アイキャッチを登録する処理*/ 3function insert_attachment($file_handler, $post_id, $setthumb = 'false') 4{ 5 if ($_FILES[$file_handler]['error'] !== UPLOAD_ERR_OK) __return_false(); 6 require_once(ABSPATH . "wp-admin" . '/includes/image.php'); 7 require_once(ABSPATH . "wp-admin" . '/includes/file.php'); 8 require_once(ABSPATH . "wp-admin" . '/includes/media.php'); 9 $attach_id = media_handle_upload($file_handler, $post_id); 10 if ($setthumb) 11 update_post_meta($post_id, '_thumbnail_id', $attach_id); 12 return $attach_id; 13} 14/*画像をアップロードして、アイキャッチを登録する処理ここまで*/ 15 16/*タグの入力があれば、HTMLの排除をしつつ登録*/ 17if (isset($_POST['field_3'])) { 18 foreach ($_POST['field_3'] as $tags) { 19 if ($tags != "") { 20 $tag .= strip_tags($tags) . ','; //入力されたタグをカンマ区切りでつなげる 21 } 22 } 23 $tag = mb_substr($tag, 0, -1);//最後に余分なカンマを削除 24/*タグに関する処理、ここまで*/ 25 26 $post = array( 27 //'ID' => [ <投稿 ID> ] // 既存の投稿を更新する場合。 28 'comment_status' => 'closed', // 'closed' はコメントを閉じます。 29 'ping_status' => 'closed', // 'closed' はピンバック/トラックバックをオフにします。 30 'post_author' => $bp->loggedin_user->id, // 作成者のユーザー ID。ログインしているID 31 'post_category' => array(2), // カテゴリーを追加。配列で複数OK 32 'post_content' => $_POST['field_4'], // 投稿の全文。 33 'post_date' => date('Y-m-d H:i:s'), 34 'post_date_gmt' => date('Y-m-d H:i:s'), // 投稿の作成日時(GMT)。 35 'post_status' => 'publish', // 公開ステータス。 36 'post_title' => strip_tags($_POST['field_1']), // 投稿のタイトル。 37 'post_type' => 'post', // 投稿タイプ名。 38 'tags_input' => $tag// 投稿タグ。 39 ); 40 41 $insert_id = wp_insert_post($post);//$insert_idには投稿のID(「wp_posts」テーブルの「ID」)が入る。 投稿に失敗した場合は0が返る。 42 if ($insert_id) { 43 update_post_meta($insert_id, 'url', strip_tags($_POST['field_2'])); // キーが「key1」のカスタムフィールドの値に「カスタム1」を投稿 44 45/*画像アップロードに関すること*/ 46 global $post; 47 if ($_FILES) { 48 $files = $_FILES['upload_attachment']; 49 foreach ($files['name'] as $key => $value) { 50 if ($files['name'][$key]) { 51 $file = array( 52 'name' => $files['name'][$key], 53 'type' => $files['type'][$key], 54 'tmp_name' => $files['tmp_name'][$key], 55 'error' => $files['error'][$key], 56 'size' => $files['size'][$key] 57 ); 58 59 $_FILES = array("upload_attachment" => $file); 60 61 foreach ($_FILES as $file => $array) { 62 $newupload = insert_attachment($file, $insert_id); 63 } 64 } 65 } 66 } 67 68/* 投稿に成功した時の処理等を記述 */ 69 } else { 70 /* 投稿に失敗した時の処理等を記述 */ 71 } 72 73 74} 75?>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

'comment_status' => 'closed', // 'closed' はコメントを閉じます。

ご自身で閉じているからでは。

【wp_insert_post – WordPress私的マニュアル】
https://elearn.jp/wpman/function/wp_insert_post.html

【wp_insert_post() | Function | WordPress Developer Resources】
https://developer.wordpress.org/reference/functions/wp_insert_post/

'comment_status'

(string) Whether the post can accept comments. Accepts 'open' or 'closed'. Default is the value of 'default_comment_status' option.

投稿2018/12/03 16:48

kei344

総合スコア69364

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

StudioCos

2018/12/06 22:19

うっかりしておりました。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問