コメントをすばやく追加するために、Wordpressでカスタムフォームを作成しました。私は簡単なフォームを書きました:
<form method='post' method='xxxx.com/global/wp-content/themes/theme/autoblog/skryptkom.php'>
<h3>Wpisz komentarze</h3>
<p>
<textarea name="komentarzex" rows="10" cols="30">
1 komentarz = 1 linia
</textarea>
</p>
<h3>Wpisz nazwy uzytkowników</h3>
<p>
<textarea name="uzytkownicxy" rows="10" cols="30">
1 uyztkownik = 1 linia
</textarea>
</p>
<h3> Dodatkowe ustawienia</h3>
Ile komentarzy musi mieć wpis aby dodało do niego dodatkowe komentarze: <input type="text" name="ilekomentarzy" value="0"><br>
Do ilu wpisów dodack komantarze? : <input type="text" name="ileposotownaeraz" value="200"><br>
Wpisz przedzial ile ma dodać komentarzy do wpisu : od <input type="text" name="odkoms" value="5"> do <input type="text" name="dokoms" value="20"><br>
<p>
<input type="submit" value="Dodaj komentarze" name="dodajmeykurwa" />
</p>
</form>
そして、管理ページでの表示は非常に優れています:http://prntscr.com/b3x3e3
しかし、コメントを投稿しようとすると、うまく機能しません:(
アクションを実行するための私のコードは次のとおりです。
<?php
if(isset($_POST['dodajmeykurwa'])) {
require_once('spintax.php' );
$komentarze = $_POST['komentarzex'];
$uzytkownicy = $_POST['uzytkownicxy'];
$rakoms = preg_split("/\r\n|\n|\r/", $komentarze);
$rausers = preg_split("/\r\n|\n|\r/", $uzytkownicy);
require_once ('wp-blog-header.php');
// ile koemntarzy musi miec post aby do niego dodac komentarz
$ilekomsmusimiec = $_POST['ilekomentarzy'];
$limitdodanychpostow = $_POST['ileposotownaeraz'];
global $wpdb;
// pobranie postów z liczbą komentarzy 0
$posty = $wpdb->get_results("SELECT id, comment_count FROM wp_posts WHERE post_type='post' AND post_status='publish' AND comment_count= $ilekomsmusimiec ORDER BY RAND() LIMIT $limitdodanychpostow");
$spintax->process($string);
if ($posty)
{
foreach ($posty as $p)
{
// losowe nicki i komentarze
shuffle($rakoms);
shuffle($rausers);
$oidkoskoms = $_POST['odkoms'];
$dokadkoms = $_POST['dokoms'];
for ($i = $oidkoskoms, $size = $dokadkoms; $i < $size; $i++)
{
// ustawienia komentarza - wartości
$data = array(
'comment_post_ID' => $p->id,
'comment_author' => $spintax->process($rausers[$i]),
'comment_author_email' => '[email protected]',
'comment_author_url' => 'http://',
'comment_content' => $spintax->process($rakoms[$i]),
'comment_type' => '',
'comment_parent' => 0,
'user_id' => rand(1, 100),
'comment_author_IP' => '127.0.0.1',
'comment_agent' => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10 (.NET CLR 3.5.30729)',
'comment_date' => current_time('mysql'),
'comment_approved' => 1,
);
wp_insert_comment($data);
}
}
} else
{
echo "Brak postow do ktorych mozna dodac komenatarze";
}
}
?>
私が間違っていることは何ですか?
フォームの開始タグにメソッド属性が重複しています。
この:
<form method='post' method='xxxx.com/global/wp-content/themes/theme/autoblog/skryptkom.php'>
する必要があります:
<form method='post' action='xxxx.com/global/wp-content/themes/theme/autoblog/skryptkom.php'>
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加