0

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
    Hi, can you please share your code? – Milan Hirpara Jun 28 at 9:09
  • this id my costum end point 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 Jun 28 at 9:46
  • and this is my code for if statment if Get Started clicked if ( $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 Jun 28 at 9:46
0

Please 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); 
}
  • my problem is not getting the ID of inquery my function return the id But it is when i make API Call with POST method it execute twice like that 2115706638540570 — Draft 2115706638540570 — Draft – Mohammed Alama Jun 28 at 11:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.