• Hello,
    In the theme i am developing (using wordpress and the genesis framework), i have a number of conditional statements in the functions file to determine what content appears on which pages, for example:

    /* Add directory to directory page*/
    function include_storefinder(){
        if ( is_page('a-z-directory') ){
            require(CHILD_DIR.'/storefinder.php');
            remove_action('genesis_post_content', 'genesis_do_post_content');
        }
    }
    
    add_action( 'genesis_after_post_title', 'include_storefinder' );

    However, when i try to use the same conditional statement to load a javascript only on this page, it stops the script from loading at all; I can only have it on all pages (which increases load time), or none.

    /* Register directory.js*/
    function directoryinit() {
        if ( is_admin() ) return;
        /* Conditional for a-z directory page won't work */
        wp_register_script('shopDirectory',
            get_stylesheet_directory_uri(). '/js/storedirectory.js',
            array('jquery') );
        wp_enqueue_script('shopDirectory');
        wp_localize_script( 'shopDirectory', 'localnames', localize_vars());
    
    }
    
    add_action('init', 'directoryinit');

    I know some of my code is genesis-specific, but the underlying problem of getting a script to load just on the page(s) where it is required is general to wordpress. Thanks in advance for any help.

The topic ‘Conditional statements in functions file’ is closed to new replies.