C авторизацией проблем нет, когда пытаюсь добавить новость - пишет "вы уверены, что хотите это сделать?". Вроде все токены и куки сохраняю, не пойму где собака зарыта. Код (Text): <?php include 'Snoopy.class.php'; define("WP_URL", "http://localhost/wp"); define("WP_USER", "admin"); define("WP_PASS", 123); $s = new Snoopy(); $s->fetch(WP_URL); $s->setcookies(); $url = WP_URL . "/wp-login.php"; $post = array("log" => WP_USER, "pwd" => WP_PASS); $s->submit($url, $post); $s->setcookies(); $url = WP_URL . "/wp-admin/post-new.php"; $s->fetch($url); $content = $s->results; file_put_contents("1001.txt", $content); preg_match("/_wpnonce=(.*?)['\"]/", $content, $wponce); preg_match("/post_ID.*?value=['\"](.*?)['\"]/", $content, $postID); preg_match("/user_ID.*?value=['\"](.*?)['\"]/", $content, $userID); preg_match("/meta-box-order-nonce.*?value=['\"](.*?)['\"]/", $content, $metabox); preg_match("/closedpostboxesnonce.*?value=['\"](.*?)['\"]/", $content, $closedpost); preg_match("/samplepermalinknonce.*?value=['\"](.*?)['\"]/", $content, $sample); preg_match("/_ajax_nonce-add-category.*?value=['\"](.*?)['\"]/", $content, $acategory); preg_match("/_ajax_nonce-add-meta.*?value=['\"](.*?)['\"]/", $content, $ameta); preg_match("/['\"]ss['\"].*?value=['\"](.*?)['\"]/", $content, $ss); preg_match("/['\"]mn['\"].*?value=['\"](.*?)['\"]/", $content, $mn); $postData = "_wpnonce=__WPONCE__&user_ID=__USERID__&action=editpost&originalaction=editpost&post_author=__USERID__&post_type=post&original_post_status=auto-draft&auto_draft=&post_ID=__POSTID__&meta-box-order-nonce=__METABOX__&closedpostboxesnonce=__CLOSEDPOST__&post_title=__TITLE__&samplepermalinknonce=__SAMPLE__&content=__CONTENT__&wp-preview=&hidden_post_status=draft&post_status=draft&hidden_post_password=&hidden_post_visibility=public&visibility=public&post_password=&mm=__MM__&jj=__JJ__&aa=__AA__&hh=__HH__&mn=__MN__&ss=__SS__&hidden_mm=__HMM__&cur_mm=__CMM__&hidden_jj=__HJJ__&cur_jj=__CJJ__&hidden_aa=__HAA__&cur_aa=__CAA__&hidden_hh=__HHH__&cur_hh=__CHH__&hidden_mn=__HMN__&cur_mn=__CMN__&post_format=0&post_category[]=0&newcategory_parent=-1&_ajax_nonce-add-category=__ACATEGORY__&tax_input[post_tag]=&newtag[post_tag]=&_thumbnail_id=-1&excerpt=&trackback_url=&metakeyinput=&metavalue=&_ajax_nonce-add-meta=__AMETA__&advanced_view=1&comment_status=open&ping_status=open&post_name=&post_author_override=1"; $postStr = strtr($postData, array("__WPONCE__" => $wponce[1], "__USERID__" => $userID[1], "__POSTID__" => $postID[1], "__ACATEGORY__" => $acategory[1], "__AMETA__" => $ameta[1], "__SS__" => $ss[1], "__METABOX__" => $metabox[1], "__CLOSEDPOST__" => $closedpost[1], "__SAMPLE__" => $sample[1], "__AA__" => date('Y'), "__HAA__" => date('Y'), "__CAA__" => date('Y'), "__JJ__" => date('d'), "__HJJ__" => date('d'), "__CJJ__" => date('d'), "__MM__" => date('m'), "__HMM__" => date('m'), "__CMM__" => date('m'), "__HH__" => date('H'), "__HHH__" => date('H'), "__CHH__" => date('H'), "__MN__" => $mn[1], "__HMN__" => $mn[1], "__CMN__" => $mn[1], )); $postRawArr = explode("&", $postStr); $post = array(); foreach ($postRawArr as $el) { $e = explode("=", $el); $post[$e[0]] = $e[1]; } $url = WP_URL."/wp-admin/post.php"; $s->submit($url,$post); $content = $s->results; file_put_contents("1001.txt", $content); exit;
У wordpress есть же вроде API для таких целей --- Добавлено --- https://developer.wordpress.org/rest-api/