Homepage only displaying header after Wordpress, theme & plugin update

Dear Team,

Could you please help with this problem The homepage is only displaying header after Wordpress, theme & plugin update.

http://www.francoisbenoy.lu

In cornerstone, I can still see all the sections and the whole layout and design, but not when loading the site in the browsers.

Please help!

Thanks a lot in advance.
Anton

Hello Anton,

Thanks for writing in!

Your site is having a fatal error which is why the rest of the page were not displayed. We need to find out the cause of this issue. can you please enable the debug mode? You can do this by opening wp-config.php file and adding
this lines:

define('WP_DEBUG', true);

/* That's all, stop editing! Happy blogging. */

When you revisit the page, we should have some error output describing the issue in more detail. If you are not familiar with any of this edit, would you mind providing us the FTP login credentials so we can take a closer look and fix the issue?

To do this, you can make a secure note in your next reply with the following info:
– Link to your site
– WordPress Admin username / password

To know how to create a secure note, please check this out: https://theme.co/apex/forum/t/how-to-get-support/288

Thank you.

HI RueNel,

I have added Wp_DEBUG to the wp-config.php file.

It would be lovely if you could look into this. I will provide credentials in the secure message.

Thanks a lot!

Anton

Hi @antonstepine,

Thanks, but it doesn’t seems to be active/enabled. Would you mind providing your FTP login credentials instead? The last one you have provided is admin credentials.

Thanks!

Hi Rad,

Please find the access tokens in the secure message below. Thanks for looking into this!

Hi Anton,

There’s a code in your x-child/functions.php file that needs changing.

Please open your functions.php file and look for csl18n(). Then change it to csi18n('shortcodes.recent-posts-permalink').

So your entire functions.php file would now be:

<?php

// =============================================================================
// FUNCTIONS.PHP
// -----------------------------------------------------------------------------
// Overwrite or add your own custom functions to X in this file.
// =============================================================================

// =============================================================================
// TABLE OF CONTENTS
// -----------------------------------------------------------------------------
//   01. Enqueue Parent Stylesheet
//   02. Additional Functions
// =============================================================================

// Enqueue Parent Stylesheet
// =============================================================================

add_filter( 'x_enqueue_parent_stylesheet', '__return_true' );



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

// Disable support for comments and trackbacks in post types
function df_disable_comments_post_types_support() {
	$post_types = get_post_types();
	foreach ($post_types as $post_type) {
		if(post_type_supports($post_type, 'comments')) {
			remove_post_type_support($post_type, 'comments');
			remove_post_type_support($post_type, 'trackbacks');
		}
	}
}
add_action('admin_init', 'df_disable_comments_post_types_support');

// Close comments on the front-end
function df_disable_comments_status() {
	return false;
}
add_filter('comments_open', 'df_disable_comments_status', 20, 2);
add_filter('pings_open', 'df_disable_comments_status', 20, 2);

// Hide existing comments
function df_disable_comments_hide_existing_comments($comments) {
	$comments = array();
	return $comments;
}
add_filter('comments_array', 'df_disable_comments_hide_existing_comments', 10, 2);

// Remove comments page in menu
function df_disable_comments_admin_menu() {
	remove_menu_page('edit-comments.php');
}
add_action('admin_menu', 'df_disable_comments_admin_menu');

// Redirect any user trying to access comments page
function df_disable_comments_admin_menu_redirect() {
	global $pagenow;
	if ($pagenow === 'edit-comments.php') {
		wp_redirect(admin_url()); exit;
	}
}
add_action('admin_init', 'df_disable_comments_admin_menu_redirect');

// Remove comments metabox from dashboard
function df_disable_comments_dashboard() {
	remove_meta_box('dashboard_recent_comments', 'dashboard', 'normal');
}
add_action('admin_init', 'df_disable_comments_dashboard');

// Remove comments links from admin bar
function df_disable_comments_admin_bar() {
	if (is_admin_bar_showing()) {
		remove_action('admin_bar_menu', 'wp_admin_bar_comments_menu', 60);
	}
}
add_action('init', 'df_disable_comments_admin_bar');

// =============================================================================
// Custom Excerpt Length - Call: echo excerpt($length);
// =============================================================================

function excerpt($limit) {
   $excerpt = explode(' ', get_the_excerpt(), $limit);
   if (count($excerpt)>=$limit) {
      array_pop($excerpt);
      $excerpt = implode(" ",$excerpt).'.';
   } else {
      $excerpt = implode(" ",$excerpt);
   } 
   // $excerpt = preg_replace('<code>\[[^\]]*\]</code>','',$excerpt);
   return $excerpt;
}

// =============================================================================
// Add Excerpt to Recent Posts -> [x_recent_posts]
// =============================================================================

function x_shortcode_recent_posts_excerpt( $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 : '';
  $category_type = ( $type        == 'post'      ) ? 'category_name' : 'portfolio-category';
  $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}",
      'ignore_sticky_posts' => true
    ) );

    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"', csi18n('shortcodes.recent-posts-permalink' ), 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>'
                       . do_shortcode('[x_gap size="10px"]')
                       . '<span class="x-recent-posts-excerpt">' .  strip_tags(excerpt(25))  . '</span>'
                     . '</div>'
                   . '</div>'
                 . '</article>'
               . '</a>';

    endwhile; endif; wp_reset_postdata();

  $output .= '</div>';

  return $output;
}

add_action('wp_head', 'update_x_recent_posts_to_v2');

function update_x_recent_posts_to_v2() {
  remove_shortcode( 'x_recent_posts' );
  add_shortcode( 'x_recent_posts', 'x_shortcode_recent_posts_excerpt' );
}

To add context as to the root cause, your functions.php contains a customization of the Classic Recent Posts Element. That customization makes use of a function that is no longer available on the newer version of X and Pro. Thus, using the updated version of the said function solves the problem.

Additional Info

  • Only pages that have Classic Recent Posts Element have the issue. I’ve created a test page on your site that’s created in Cornerstone without the said element. It works perfectly on the front-end. Once I added the Recent Posts Element, it behaved just like the others, thus the cause is found.

Making the small change to the code as I suggested above will solve the problem.

Hi Benursal,

Changing the line of code solved the problem!

Thanks a lot for the amazing support here guys and have a nice day!

Anton

Hi Anton,

We’re happy that we were able to help you out. Please let us know if you need anything else. Have a good day!

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