This is searchable archive of our old support forums, which operated from 2012 - 2016. To find out how to get support for your current theme, please visit our support page.

Update Alyeska from 2.1.5 to 3.0.0 when using a child theme

  • Creator
    Topic
  • #10279
    mark
    Participant

    Hi Jason

    I am having difficulty with the 3.0.0 update, and was hoping someone could shed light on what I have done wrong.

    I have a child theme which I have customised the Alyeksa theme,
    I notice in the release notes and videos, that the new version 3.0.0 required child plugins.

    Here is how I got the upgrade to work for my child theme.

    a) update the base Alyeska folder with new version 3.0.0 using FTP client.
    b) Now in your admin plugins install page (wp-admin/plugin-install.php) , search for install AND activate following plugins.
    -> Theme Blvd Layout Builder
    -> Theme Blvd Sliders
    -> Theme Blvd Widget Areas
    -> Theme Blvd Widget Pack
    -> Theme Blvd Shortcodes
    c) Not listed in the Updating page (http://support.themeblvd.com/updating-to-framework-v2-3/) you will also need to install AND activate
    -> Tweeple

    BUT now when I run the theme I get an error in the php-errors.log file.

    [06-Aug-2013 12:18:40 UTC] PHP Fatal error: Cannot redeclare themeblvd_nav_menu_select() (previously declared in /var/www/html/wp-content/themes/alyeska-bamboo/functions.php:45) in /var/www/html/wp-content/themes/alyeska/framework/includes/parts.php on line 472

    In my child theme I was overloading the function, which is causing the issue.

    /*———————————————————————————–*/
    /* replace themeblvd_nav_menu_select responsive Nav menu
    /*———————————————————————————–*/
    function themeblvd_nav_menu_select( $location ) {
    }

    Can you please advise how I should correctly replace the themeblvd_nav_menu_select() function in my child theme.

    Many thanks

    Mark

Viewing 4 replies - 1 through 4 (of 4 total)
  • Author
    Replies
  • #10280
    mark
    Participant

    I can see in old 2.1.5 version in

    ./framework/frontend/functions/parts.php

    it allowed child overwrite with the following check on function exist:

    if( ! function_exists( 'themeblvd_nav_menu_select' ) ) {
    function themeblvd_nav_menu_select( $location ) {
    }
    }

    But the new parts.php in version 3.0.0 does not have this.

    Jason, can you recommend how I can rectify this ?

    Many thanks

    Mark

    #10283
    mark
    Participant

    Arrr, keep reading the release notes…..

    found the answer here…

    http://support.themeblvd.com/updating-to-framework-v2-3/

    At end under Developers describes:

    Not all pluggable functions are still pluggable.
    This was sort of a tough call to make, but we realized that people were taking advantage of pluggable functions in incorrect places, which is our fault for putting them there.

    We’ve cleaned this up a bit by making functions that clearly should be extended via a filter not pluggable any longer. So, if you come across any “cannot redeclare function XYZ” PHP errors, this is most likely what its from. Find the function in the theme and re-assess how you’re modifying it.

    Therefore I have re-written my method in my child functions.php as a filter, and now it works.

    I have to rewrite a lot of my customisations in the CSS, but at least now no error.

    thanks

    Mark

    #10294
    Jason Bobich
    Keymaster

    Hey Mark,

    Do you have this all squared away now? Sorry for the hassle.

    The new Alyeska also has some cool new mobile menu options you should check out at Appearance > Theme Options > Configuration > Responsiveness.

    #10296
    mark
    Participant

    Hi Jason,

    Yes, working now, just the background image problem, which I have posted in a new thread.

    thanks

    Mark

Viewing 4 replies - 1 through 4 (of 4 total)
  • The forum ‘Alyeska Responsive WordPress Theme’ is closed to new topics and replies.