Object name undefined using localize script

I think it’s because you’re doing your localization in the shortcode which may be messing with the order of things.

Instead do this:

add_action( 'wp_enqueue_scripts', array( $this, 'frontend_enqueue' ) );
function frontend_enqueue() {
    wp_register_script( 'my-handle', plugins_url( 'js/frontend.js', __FILE__), array( 'jquery' ), '1.0.0', true);
    wp_localize_script('my-handle', 'ajax_actions', array(
        'ajaxurl' => admin_url( 'admin-ajax.php' )
    ));
}

Then…

add_shortcode( 'my_shortcode', array( $this, 'shortcode_template' ) );
function shortcode_template( $atts ) {
    ...

    // Ajax and custom scripts
    wp_enqueue_script( 'my-handle' );
    
    ...
}

I think the script is being registered and the enqueuing fires when your shortcode loads but the script was already registered so the localization isn’t present and that means the enqueued script doesn’t have the object. I’ve never seen the localization done during output.

casinojojobetpulibet girişOnwin Güncel Giriştürkçe altyazılı pornocanlı bahis casinocanlı bahis casino siteleriOnwin Güncel Girişholiganbetholiganbet girişholiganbet güncel giriş