入队&仅在前端进行本地化

时间:2018-02-22 10:35:34

标签: php ajax wordpress wordpress-theming

我已将wp_enqueue_script和wp_localize_script添加到我的functions.php中,它们似乎随处可见 - 即使后端导致了一些问题。有没有办法将它们限制在前端或主页上。

还需要add_action吗?他们似乎没有它工作

wp_enqueue_script( 'frontJquery', get_template_directory_uri() . '/js/front.js', [ 'jquery' ]);
wp_localize_script( 'frontJquery', 'ajax_page', [
        'url'   => admin_url( 'admin-ajax.php' ),
] );

function savedata(){
    $stripSl = stripslashes($_POST[data]);
    $dataOf = json_decode($stripSl, true);
    $dateOf = date("H:i:s d-m-Y");
global $wpdb;
$wpdb->insert('user_info',
    array(
        'currentDate' => $dateOf,
        'amount' => $dataOf['moneyOf'],
        'email' => $dataOf['emailOf'],
    ),
    array(
        '%s',
        '%s'
    )
);

die();
return true;
}

add_action('wp_ajax_savedata', 'savedata'); 
add_action('wp_ajax_nopriv_savedata', 'savedata');

1 个答案:

答案 0 :(得分:0)

如果您挂钩wp_enqueue_scripts,您将能够有条件地注入样式表和JS文件。

例如:

function wp2441_enqueue_scripts() {

    if ( is_front_page() ){ // change for is_home() if you're not using a front page
        wp_enqueue_script( 'frontJquery', get_template_directory_uri() . '/js/front.js', array('jquery') );
        wp_localize_script( 'frontJquery', 'ajax_page', array(
            'url' => admin_url( 'admin-ajax.php' ),
        ));
    }

}
add_action( 'wp_enqueue_scripts', 'wp2441_enqueue_scripts' );
// This action hook tells WP to enqueue all of these files only on the front-end.
// There's a different hook to enqueue files on the back-end.

有用的参考资料: