Menus not working after update

Hi,

after the recent update, the dropdown menus (both desktop and mobile) stopped working.
I can click the parent link, but when I hover them they don’t drop down. On the mobile version nothing happens when you touch the menu icon.

Troubleshooting that I already did:

  • Plugins and wordpress are all updated
  • Disabled all other plugins
  • Cleared cache
  • Reset .htaccess
  • Removed all custom CSS and JS

Hello @inovinter,

Thanks for asking. :slight_smile:

It looks like that you have deactivated or deleted Cornerstone. Please activate the same and make sure that Cornerstone is of latest version 3.2.5 as old version of Cornerstone with updated version of X Theme can cause compatibility issues.

To learn about the latest and compatible versions of bundled and supported plugins, please take a look at following doc:

_After doing the updates, always remember to clear all caches (if you are using WP Rocket, WP SuperCache or W3 Total Cache) when updating so that the code from the latest release is always in use. This will help you to avoid any potential errors.-

Thanks.

Thanks for the quick reply!

I was reinstalling X and Cornerstone when you checked it. Just finished it, but to no avail, menu still doesn’t work. You can check it again.

Also noticed that the accordion elements don’t work either…

Hello There,

It seems that the scripts loaded in your site is from a cached version which is causing the issue. Since you have installed a caching plugin WP Super Cache, please clear your plugin cache before testing your site. This can cause the changes to not take place on the front end. It will eventually show up when the cache regenerates, but it’s not ideal if you’re looking to see your changes immediately.

Hope this helps. Kindly let us know.

I’ve tried do clear the cache, both with WPSC and in the browser.

I now tried to activate the parent theme and that seems to make everything work again. So the problem lies within the child theme, but I can’t figure out what is causing the conflict.

Hey There,
​
​To assist you better with this issue, would you mind providing us the url of your site with login credentials so we can take a closer look? This is to ensure that we can provide you with a tailored answer to your situation.

To do this, you can create a secure note with the following info:
– Link to your site
– WordPress Admin username / password
​
Thank you.

Right now I’ve got the child theme active, but if I edit the functions.php I get an error 500 (I edited the parent theme, just to have the site up and running).

Hello There,

We cannot log in because it ask for an Authentication code. Could you please disable the Authenticator plugin so that we can log in?

By the way, I have look into the parent theme’s functions.php file. The code you have added should only be placed in the child theme:

// Content Width
// =============================================================================

if ( ! isset( $content_width ) ) :

  $stack = x_get_stack();

  switch ( $stack ) {
    case 'integrity' :
      $content_width = x_post_thumbnail_width() - 120;
      break;
    case 'renew' :
      $content_width = x_post_thumbnail_width();
      break;
    case 'icon' :
      $content_width = x_post_thumbnail_width();
      break;
    case 'ethos' :
      $content_width = x_post_thumbnail_width();
      break;
  }

endif;



// Localization
// =============================================================================

load_theme_textdomain( '__x__', X_TEMPLATE_PATH . '/framework/lang' );


// Displaying Excerpt in Recent Posts
// =============================================================================

function x_shortcode_recent_posts_v2( $atts ) {
  extract( shortcode_atts( array(
    'id'          => '',
    'class'       => '',
    'style'       => '',
    'type'        => 'post',
    'count'       => '',
    'category'    => '',
    'offset'      => '',
    'orientation' => '',
    'no_image'    => '',
    'fade'        => ''
  ), $atts, 'x_recent_posts' ) );

  $allowed_post_types = apply_filters( 'cs_recent_posts_post_types', array( 'post' => 'post' ) );
  $type = ( isset( $allowed_post_types[$type] ) ) ? $allowed_post_types[$type] : 'post';

  $id            = ( $id          != ''          ) ? 'id="' . esc_attr( $id ) . '"' : '';
  $class         = ( $class       != ''          ) ? 'x-recent-posts cf ' . esc_attr( $class ) : 'x-recent-posts cf';
  $style         = ( $style       != ''          ) ? 'style="' . $style . '"' : '';
  $count         = ( $count       != ''          ) ? $count : 3;
  $category      = ( $category    != ''          ) ? $category : '';
  if( $type == 'post' ){
    $category_type = 'category_name';
  } elseif ($type == 'x-portfolio') {
    $category_type = 'portfolio-category';
  } elseif ($type == 'special_offers') {
    $category_type = 'category_name';
  }
  $offset        = ( $offset      != ''          ) ? $offset : 0;
  $orientation   = ( $orientation != ''          ) ? ' ' . $orientation : ' horizontal';
  $no_image      = ( $no_image    == 'true'      ) ? $no_image : '';
  $fade          = ( $fade        == 'true'      ) ? $fade : 'false';

  $js_params = array(
    'fade' => ( $fade == 'true' )
  );

  $data = cs_generate_data_attributes( 'recent_posts', $js_params );

  $output = "<div {$id} class=\"{$class}{$orientation}\" {$style} {$data} data-fade=\"{$fade}\" >";

    $q = new WP_Query( array(
      'orderby'          => 'date',
      'post_type'        => "{$type}",
      'posts_per_page'   => "{$count}",
      'offset'           => "{$offset}",
      "{$category_type}" => "{$category}"
    ) );

    if ( $q->have_posts() ) : while ( $q->have_posts() ) : $q->the_post();

      if ( $no_image == 'true' ) {
        $image_output       = '';
        $image_output_class = 'no-image';
      } else {
        $image              = wp_get_attachment_image_src( get_post_thumbnail_id(), 'entry-cropped' );
        $bg_image           = ( $image[0] != '' ) ? ' style="background-image: url(' . $image[0] . ');"' : '';
        $image_output       = '<div class="x-recent-posts-img"' . $bg_image . '></div>';
        $image_output_class = 'with-image';
      }

      $output .= '<a class="x-recent-post' . $count . ' ' . $image_output_class . '" href="' . get_permalink( get_the_ID() ) . '" title="' . esc_attr( sprintf( __( 'Permalink to: "%s"', '__x__' ), the_title_attribute( 'echo=0' ) ) ) . '">'
                 . '<article id="post-' . get_the_ID() . '" class="' . implode( ' ', get_post_class() ) . '">'
                   . '<div class="entry-wrap">'
                     . $image_output
                     . '<div class="x-recent-posts-content">'
                       . '<h3 class="h-recent-posts">' . get_the_title() . '</h3>'
                       . '<span class="x-recent-posts-date">' . get_the_date() . '</span>'
                       . '<span class="x-recent-posts-excerpt">' . strip_tags( get_the_excerpt() ) . '</span>'
                     . '</div>'
                   . '</div>'
                 . '</article>'
               . '</a>';

    endwhile; endif; wp_reset_postdata();

  $output .= '</div>';

  return $output;
}

add_filter('wp_head', 'custom_recent_posts');

function custom_recent_posts() {
  remove_shortcode( 'x_recent_posts' );

  add_shortcode( 'x_recent_posts', 'x_shortcode_recent_posts_v2' );
}


// Additional Functions
// =============================================================================

add_filter( 'gettext', 'translate_search_string', 20, 3 );
function translate_search_string( $translated_text, $text, $domain ) {
    if ( $text == 'Type and Press &ldquo;enter&rdquo; to Search' ) return __( 'Pesquisar', $domain );
    else return $translated_text;
}

Please remove the code from the parent theme and transfer it to the child theme’s functions.php file. If it throws an error message, please provide the message to us so that we can find a solution.

Hope this helps. Please let us know how it goes.

I know and that’s how it’s usually set up.

Already changed the custom code to the child’s functions.php and removed the two factor authentication.
Now I didn’t get the HTTP 500 error as before, don’t know why… I did everything exactly the same.

Also, the Content Width and Localization code lines are from the original parent file, only the Recent Posts Excerpt and Additional Functions are my own custom lines.

Hey There,

Is your issue resolved already? I have check your site and no longer seeing any Error 500. The menu is working as expected also: http://prntscr.com/kc00d1

Please let us know.

Hi,

So far, everything seems stable, thanks.
If anything changes I’ll let you know.

Thanks for all the help!

Glad it’s okay now, yes, please let us know. Cheers!

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.