根据Wordpress中的路由加载Javascript和模板

时间:2018-10-28 22:23:46

标签: javascript wordpress wordpress-theming

我的目标是

  1. 能够根据我所在的页面动态加载javascript / css文件

  2. /industry/{industry_id}

  3. 这样的动态网页支持
  4. 根据路线加载某些模板

我来自Angular的组件领域,因此,我试图做同样的事情。

  1. 第一个问题,您认为有必要建立这样的路由系统吗?

  2. 我发现了一些类似的库,可以帮助WP_RouteWP-Router

这些问题是它们不会基于模板加载javascript,这就是这样的地方:

add_action('wp_enqueue_scripts', 'my_theme_load_scripts');

//Load scripts (and/or styles)
function my_theme_load_scripts(){
   wp_enqueue_script('jquery');
   wp_enqueue_script('my_first_script', get_template_directory_uri() . '/includes/js/my_first_script.js');
   wp_enqueue_script('my_second_script', get_template_directory_uri() . '/includes/js/my_second_script.js');

   if(is_page()){ //Check if we are viewing a page
    global $wp_query;

        //Check which template is assigned to current page we are looking at
        $template_name = get_post_meta( $wp_query->post->ID, '_wp_page_template', true );
    if($template_name == 'slider-portfolio.php'){
           //If page is using slider portfolio template then load our slider script
       wp_enqueue_script('my_third_script', get_template_directory_uri() .'/includes/js/my_third_script.js');       
    }
   }
}

对于动态网址,我可以使用这样的覆盖规则

add_action( 'init', 'add_rules' );
function add_rules() {
    add_rewrite_rule('^job/([^/]*)/([^/]*)/?','index.php?page_id=12&job_title=$matches[1]&job_id=$matches[2]','top');
}

再次,我对Wordpress还是很陌生,所以只是想了解一下!如果有人能指出我正确的方向,我将不胜感激。谢谢!

0 个答案:

没有答案