PluginUs.Net - Business Tools for WooCommerce and WordPress

[realize your idea - make your dreams come true]

Support Forum

You need to log-in to create request (topic) to the support

Uncaught Error: Call to a member function get_currencies() on null

The support doesn work on Saturdays and Sundays, so some Friday requests can be answered on Monday. If you have problems with registration ask help on contact us page please
If you not got email within 24~36 business hours, firstly check your spam box, and if no any email from the support there - back to the forum and read answer here. DO NOT ANSWER ON EMAILS [noreply@pluginus.net] FROM THE FORUM!! Emails are just for your info, all answers should be published only here.
The support doesn work on Saturdays and Sundays, so some Friday requests can be answered on Monday.

Hi.

I am trying to retrieve and convert prices from an api using the WOOCS functions but I keep getting the error Uncaught Error: Call to a member function get_currencies() on null.

I have activated the woocommerce currency switcher plugin.

 

Here is the error:

2022-08-01T15:05:52+00:00 CRITICAL Uncaught Error: Call to a member function get_currencies() on null in /srv/users/libbloom/apps/libertybloom/lib_new/web/app/themes/parallax-pro/functions.php:1354
Stack trace:
#0 /srv/users/libbloom/apps/libertybloom/lib_new/web/wp/wp-includes/rest-api/class-wp-rest-server.php(1140): event_api_post_callback(Object(WP_REST_Request))
#1 /srv/users/libbloom/apps/libertybloom/lib_new/web/wp/wp-includes/rest-api/class-wp-rest-server.php(987): WP_REST_Server->respond_to_request(Object(WP_REST_Request), '/show/v1/event/...', Array, NULL)
#2 /srv/users/libbloom/apps/libertybloom/lib_new/web/wp/wp-includes/rest-api/class-wp-rest-server.php(414): WP_REST_Server->dispatch(Object(WP_REST_Request))
#3 /srv/users/libbloom/apps/libertybloom/lib_new/web/wp/wp-includes/rest-api.php(370): WP_REST_Server->serve_request('/show/v1/event/...')
#4 /srv/users/libbloom/apps/libertybloom/lib_new/web/wp/wp-includes/class-wp-hook.php(303): rest_api_loaded(Object(WP))
#5 /srv/users/libbloom/apps/libertybloom/lib_new/web/wp/wp-includes/cl in /srv/users/libbloom/apps/libertybloom/lib_new/web/app/themes/parallax-pro/functions.php on line 1354



Here is my code snippet:

function event_api_post_callback( $request ) {
global $event;
global $WOOCS;
$currencies=$WOOCS->get_currencies();
$converted_currency = $WOOCS->back_convert($request['price'],$currencies[$request['currency']]['rate'],0);
$event_data = array(
'post_type'=>'tc_events',
'post_title'=>$request['event_name'],
'post_content'=>$request['event_terms'],
'post_status'=>'publish'
);
$events = new TC_Events();
$event = wp_insert_post( $event_data );
if(!is_wp_error($event_data)){
$response['status'] = 200;
$response['success'] = true;
update_post_meta($event,'event_location',$request['event_location']);
update_post_meta($event,'event_date_time',$request['event_date_time']);
update_post_meta($event,'event_end_date_time',$request['event_end_date_time']);
update_post_meta($event,'event_terms',$request['genre']);
update_post_meta($event,'event_logo',$request['event_logo']);
wp_set_object_terms($event,$request['event_category'],'event_category');
get_post_meta($event,'tc_speakers');
update_post_meta($event,'tc_speakers',$request['speaker_tags']);
update_post_meta($event,'tc_speakers_show_type','shortcode');
update_post_meta($event,'tc_speakers_view','tc_list');
update_post_meta($event,'tc_speakers_grid_show_cats','no');
update_post_meta($event,'event_datetime_utc',$request['event_end_time_utc']);
update_post_meta($event,'event_logo_file_url',$request['timezone']);
fifu_dev_set_image($event,'https://youbloomconnect.com/storage/event_photo/'.$request['event_logo']);
$permalink = get_permalink($event);
$p_id = get_post($event);
$status = 'draft';
$response['permalink'] = $permalink;
$response['ID'] = $p_id;
$response['converted_currency'] = $converted_currency;
global $wpdb;
$where = array( 'ID' => $event );
$data = array('post_status'=>'draft');
$wpdb->update( $wpdb->posts, $data, $where );
}else{
$response['status'] = 200;
$response['success'] = false;
$response['data'] = get_post( $events );
}
returnnewWP_REST_Response($response);
// }
}

Hello

Looks like your code called to early and object $WOOCS is not defined yet"Call to a member function get_currencies() on null". Give me please screen how you call your function, I mean hook name, and sequence number. Firstly try to set Hooks Firing Sequence 9999

I am working with an event manager plugin called tickera to create tickets via api. And now I need woocommerce currency switcher plugin to detect the currency and help in currency conversion. However I'm stuck as I cannot convert the currency. The text in bold is how i use the woocs functions.  By hook name what do you mean, Im kinda new to this
Thanks
function event_api_post_callback( $request ) {
global $event;

if(!class_exists('WOOCS')){

global $WOOCS;

$currencies=$WOOCS->get_currencies();

$converted_currency = $WOOCS->back_convert($request['price'],$currencies[$request['currency']]['rate'],0);

}
$event_data = array(
'post_type'=>'tc_events',
'post_title'=>$request['event_name'],
'post_content'=>$request['event_terms'],
'post_status'=>'publish'
);
$events = new TC_Events();
$event = wp_insert_post( $event_data );
if(!is_wp_error($event_data)){
$response['status'] = 200;
$response['success'] = true;
update_post_meta($event,'event_location',$request['event_location']);
update_post_meta($event,'event_date_time',$request['event_date_time']);
update_post_meta($event,'event_end_date_time',$request['event_end_date_time']);
update_post_meta($event,'event_terms',$request['genre']);
update_post_meta($event,'event_logo',$request['event_logo']);
wp_set_object_terms($event,$request['event_category'],'event_category');
get_post_meta($event,'tc_speakers');
update_post_meta($event,'tc_speakers',$request['speaker_tags']);
update_post_meta($event,'tc_speakers_show_type','shortcode');
update_post_meta($event,'tc_speakers_view','tc_list');
update_post_meta($event,'tc_speakers_grid_show_cats','no');
update_post_meta($event,'event_datetime_utc',$request['event_end_time_utc']);
update_post_meta($event,'event_logo_file_url',$request['timezone']);
fifu_dev_set_image($event,'https://youbloomconnect.com/storage/event_photo/'.$request['event_logo']);
$permalink = get_permalink($event);
$p_id = get_post($event);
$status = 'draft';
$response['permalink'] = $permalink;
$response['ID'] = $p_id;
$response['converted_currency'] = 'JI';
global $wpdb;
$where = array( 'ID' => $event );
$data = array('post_status'=>'draft');
$wpdb->update( $wpdb->posts, $data, $where );
}else{
$response['status'] = 200;
$response['success'] = false;
$response['data'] = get_post( $events );
}
returnnewWP_REST_Response($response);
// }
}

hello
your code is not correct
It makes absolutely no sense - https://share.pluginus.net/image/i20220802194318.png - please delete it

Hello.

Sorry I sent the wrong code. Here's the part where I call the woocs function

 

if(class_exists('WOOCS')){
global $WOOCS;
$currencies=$WOOCS->get_currencies();
$converted_currency = $WOOCS->back_convert($request['price'],$currencies[$request['currency']]['rate'],0);
}
There is no errors right now, however I need to convert the currency but I can't get it working.
Thank you.

Hello

Please read  this - https://currency-switcher.com/function/woocs-woocs_exchange_value