PDA

View Full Version : ایجاد پست در وردپرس از طریق وارد کردن اطلاعات در دیتابیس



hamedg1366
پنج شنبه 14 دی 1396, 15:07 عصر
با سلام و عرض ادب خدمت همه دوستان

لطفا منو راهنمائی بفرمائید ک چطور مستقیما از طریق دیتابیس در وردپرس پست بذارم ؛

وقتی اطلاعات رو مستقیم به جدول wp_posts وارد مبکنم دیده نمیشه و در پنل مدیریت هم اصلا نشون داده نمیشه.


نمیدونم چطور باید در این باره سرچ هم بکنم ،



با تشکر از همه عزیزان.

plague
پنج شنبه 14 دی 1396, 17:54 عصر
شاید ناقص نوشتی کدت رو بزار اگه کسی خاست راهنمایی کنه ببینه چیکار کردی
این یه نمونه کده که من خیلی وقت پیش نوشتم میتونی ببینی چه گزینه هایی رو مقدار دهی کردم


$post['post_status'] = 'pending';
$post['post_author'] = 1;
$post['post_title'] = trim($post_title) ;
$post['post_content'] = $text;
$post['post_name'] = $main->prep_title( $info['eng']['singer'].' '.$info['eng']['song'] , true);
$post['post_date'] = date('Y-m-d H:i:s');
$post['post_date_gmt'] = date('Y-m-d H:i:s');

$id = $db->insert('wp_posts' , $post);

hamedg1366
پنج شنبه 14 دی 1396, 21:02 عصر
شاید ناقص نوشتی کدت رو بزار اگه کسی خاست راهنمایی کنه ببینه چیکار کردی
این یه نمونه کده که من خیلی وقت پیش نوشتم میتونی ببینی چه گزینه هایی رو مقدار دهی کردم


$post['post_status'] = 'pending';
$post['post_author'] = 1;
$post['post_title'] = trim($post_title) ;
$post['post_content'] = $text;
$post['post_name'] = $main->prep_title( $info['eng']['singer'].' '.$info['eng']['song'] , true);
$post['post_date'] = date('Y-m-d H:i:s');
$post['post_date_gmt'] = date('Y-m-d H:i:s');

$id = $db->insert('wp_posts' , $post);





ممنونم از شما دوست عزیز متاسفانه بنده کدی نزده بودم و با کمک کدی شما توی سرچ اطلاعات خوبی بدست آوردم .

ممنون میشم بهم بگید چطور میتونم بگم ک کدوم پست مال کدوم دسته هستش ، مثلا توی اخبار چطور بگم پستم مال دسته ورزشی و دسته اقتصادی هستش.


سپاس از شما

hamedg1366
پنج شنبه 14 دی 1396, 21:04 عصر
توی این لینک توضیح داده چطور میشه یه پست رو برای ارسال به دیتابیس درست کرد :

https://developer.wordpress.org/reference/functions/wp_insert_post/


، از اونجایی ک صفر صفر هستم در این زمینه میشه لطفا در چند جمله یه توضیح کوچیک بگین بهم ک :

آیا باید یه صفحه php جدید درست کنم در پوشه wp-admin و کدها رو اونجا قرار بدم ؟

توی تابع wp_insert_post ک در لینک کلش هست کجا و چطور در دیتابیس ذخیره میکنه اطلاعات رو ؟ من هیچی ندیم

خیلی گشتم توی نت و حتما اشتباه گشتم ، لطفا زاهنمائی بفرمائید منو.

سپاس

plague
پنج شنبه 14 دی 1396, 21:47 عصر
این تابعیه که من نوشته بودم برا ست کردن کتگوری یک پست
باید اول دسته بندی رو از ادمین بسازی بعد شناسه اون دسته بندی رو داشته باشی تا از تیبل wp_terms پیداش کنی



function set_category( $category_id= 0 , $post_id = 0 )
{
$category = $this->get('wp_terms' , array('term_id'=>$category_id ) ,1 , 1);
if(!$category ) {echo 'cant find the category!!' ; return false};

$this->increment('wp_term_taxonomy' , 'term_taxonomy_id' , $category->term_id,'count' );
$this->insert('wp_term_relationships' , array('object_id'=> $post_id , 'term_taxonomy_id'=>$category->term_id ) );

}

hamedg1366
جمعه 15 دی 1396, 20:53 عصر
لطفا منو راهنمائی کنین :

من الان کد زیر رو دارم :




<?php


function AAb()
{
require('//wp-includes/post.php');

$new_post = array(
'post_title' => 'My New PostBBBBBBBBBBBBB2',
'post_content' => 'matn...2',
'post_status' => 'publish',
'post_date' => date('Y-m-d H:i:s'),
'post_author' => 1,
'post_type' => 'post',
'post_category' => array(5)
);

$post_id = wp_insert_post($new_post);

}

add_action('init', 'AAb');

?>




این کد رو کجای پوشه های ورد پرس باید قرار بدم تا پستم بدون مشکل فرستاده بشه :(

اگه این رو توی افزونه ها قرار بدم پست ارسال میشه اما هر لحظه تکرار میشه ،


از دیروز درگیرم ، ممنونم ازتون

plague
شنبه 16 دی 1396, 16:51 عصر
اقا سو تفاهم نشه کد هایی که من دادم هیچکدوم برای سیستم داخلی وردپرس نیستن !
من ورد پرس کار نمیکنم و توابعش رو مسلط نیستم
این کد ها برای اینه که خارج از سیستم وردپرس بخای تو دیتبایس وردپرس مطلب بریزی مثلا برای ربات باشه که از سایت دیگه مطالب رو بگیری بریزی تو دیتبایس وردپرس