i have messenger chatbot and if the user click Get Started
i make singel api call with $sender_id
as title to add new post to my CPT inquery
and when i look to wordpress panel i see 2 of them with same title and when make another api call with $sender_id
as title it gives me the old one
i can't figure why it happend from beginning
Thanks in advenced
i have messenger chatbot and if the user click Get Started
i make singel api call with $sender_id
as title to add new post to my CPT inquery
and when i look to wordpress panel i see 2 of them with same title and when make another api call with $sender_id
as title it gives me the old one
i can't figure why it happend from beginning
Thanks in advenced
1 Answer
Reset to default 0Please write function for get post by title
function get_page_by_post_title( $page_title, $output = OBJECT, $post_type = 'page' ) {
global $wpdb;
$sql = $wpdb->prepare(
"
SELECT ID
FROM $wpdb->posts
WHERE post_title = %s
AND post_type = %s
ORDER BY ID DESC
",
$page_title,
$post_type
);
$page = $wpdb->get_var( $sql );
if ( $page ) {
return get_post( $page, $output );
}
}
And this is your inquire_id function like,
function get_inquiry_id($data){
$return = [];
$title=$data['title'];
$return = get_page_by_post_title($title, OBJECT, 'inquiry');
$return = $return->ID;
return new WP_REST_Response($return, 200);
}
function get_inquiry_id($data){ $return = []; $title=$data['title']; $return = get_page_by_title($title, OBJECT, 'inquiry'); $return = $return->ID; return new WP_REST_Response($return, 200); } add_action('rest_api_init',function(){ register_rest_route('chatbot/v1','/inquiry/(?P<title>\d+)',array( 'methods'=>'GET', 'callback'=>'get_inquiry_id' )); });
– Mohammed Alama Commented Jun 28, 2019 at 9:46if ( $payload == 'firsthand' ) { $sender_id = ''.$sender_id.''; $data_array = array( "title"=>$sender_id ) ; callAPI('POST','http://alenke.test/wp-json/wp/v2/inquiry',json_encode($data_array));
– Mohammed Alama Commented Jun 28, 2019 at 9:46