Navigation
This is archived content. Visit our new forum.

Tagged: 

  • Author
    Posts
  • #896325

    Christopher
    Moderator

    Let us know if you need further assist.

    #896860

    Drakah
    Participant

    I am sorry to ask but… If I dont set a file to a category, I get a serious error and the nav doesnt work:

    Warning: Invalid argument supplied for foreach() in –removed for privacy–/wp-content/themes/x-child/functions.php on line 83

    According to line 83 says this:
    foreach ( $categories as $category ) {

    #897735

    Rad
    Moderator

    Hi there,

    Try wrapping it with if condition, like this,

    if ( is_array( $categories ) && count($categories) > 0 ) {
    
    foreach ( $categories as $category ) {
    ....
    }
    
    }

    Thanks!

    #897776

    Drakah
    Participant

    Where am I putting this code?

    I am not sure how to “wrap” it.

    I put

    if ( is_array( $categories ) && count($categories) > 0 ) {
    
    foreach ( $categories as $category ) {

    before

    function x_integrity_entry_meta() {

    and then at the tail end of the code, I put the

    }
    
    }

    and the categories were not showing at all.

    #898291

    Rue Nel
    Moderator

    Hello There,

    Thanks for the updates.
    Could you please post the contents of your child theme’s functions.php file?

    For the meantime, please find this block:

    
          foreach ( $categories as $category ) {
            $categories_output .= '<a href="'
                                . get_term_link( $category->slug, 'portfolio-category' )
                                . '" title="'
                                . esc_attr( sprintf( __( "View all posts in: &ldquo;%s&rdquo;", '__x__' ), $category->name ) )
                                . '"><i class="x-icon-bookmark" data-x-icon=""></i> '
                                . $category->name
                                . '</a>'
                                . $separator;
          }
    

    And replace it using this block instead:

    
      if ( is_array( $categories ) && count($categories) > 0 ) {
      	foreach ( $categories as $category ) {
    		$categories_output .= '<a href="'
                        . get_term_link( $category->slug, 'portfolio-category' )
                        . '" title="'
                        . esc_attr( sprintf( __( "View all posts in: &ldquo;%s&rdquo;", '__x__' ), $category->name ) )
                        . '"><i class="x-icon-bookmark" data-x-icon=""></i> '
                        . $category->name
                        . '</a>'
                        . $separator;
      	}
      }

    Hope this helps.

    #898782

    Drakah
    Participant

    Unfortunately I have an error still after editing the code. 🙁

    Warning: Invalid argument supplied for foreach() in —removed for privacy—/wp-content/themes/x-child/functions.php on line 87

    This is what I have now:

    <?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
    // =============================================================================
    
    // Custom Integrity Meta to support WPDM categories
    // =============================================================================
    function x_integrity_entry_meta() {
    
      //
      // Author.
      //
    
      $author = sprintf( '<span><i class="x-icon-pencil" data-x-icon=""></i> %s</span>',
        get_the_author()
      );
    
      //
      // Date.
      //
    
      $date = sprintf( '<span><time class="entry-date" datetime="%1$s"><i class="x-icon-calendar" data-x-icon=""></i> %2$s</time></span>',
        esc_attr( get_the_date( 'c' ) ),
        esc_html( get_the_date() )
      );
    
      //
      // Categories.
      //
    
      if ( get_post_type() == 'x-portfolio' ) {
        if ( has_term( '', 'portfolio-category', NULL ) ) {
          $categories        = get_the_terms( get_the_ID(), 'portfolio-category' );
          $separator         = ', ';
          $categories_output = '';
      if ( is_array( $categories ) && count($categories) > 0 ) {
      	foreach ( $categories as $category ) {
    		$categories_output .= '<a href="'
                        . get_term_link( $category->slug, 'portfolio-category' )
                        . '" title="'
                        . esc_attr( sprintf( __( "View all posts in: &ldquo;%s&rdquo;", '__x__' ), $category->name ) )
                        . '"><i class="x-icon-bookmark" data-x-icon=""></i> '
                        . $category->name
                        . '</a>'
                        . $separator;
      	}
      }
    
          $categories_list = sprintf( '<span>%s</span>',
            trim( $categories_output, $separator )
          );
        } else {
          $categories_list = '';
        }
      } else {
    
        if ( get_post_type() == 'wpdmpro') {
          $categories        = get_the_terms( $id, 'wpdmcategory' );
        } else {
          $categories        = get_the_category();
        }
    
        $separator         = ', ';
        $categories_output = '';
        foreach ( $categories as $category ) {
          $categories_output .= '<a href="'
                              . get_category_link( $category->term_id )
                              . '" title="'
                              . esc_attr( sprintf( __( "View all posts in: &ldquo;%s&rdquo;", '__x__' ), $category->name ) )
                              . '"><i class="x-icon-bookmark" data-x-icon=""></i> '
                              . $category->name
                              . '</a>'
                              . $separator;
        }
    
        $categories_list = sprintf( '<span>%s</span>',
          trim( $categories_output, $separator )
        );
      }
    
      //
      // Comments link.
      //
    
      if ( comments_open() ) {
    
        $title  = apply_filters( 'x_entry_meta_comments_title', get_the_title() );
        $link   = apply_filters( 'x_entry_meta_comments_link', get_comments_link() );
        $number = apply_filters( 'x_entry_meta_comments_number', get_comments_number() );
    
        if ( $number == 0 ) {
          $text = __( 'Leave a Comment' , '__x__' );
        } else if ( $number == 1 ) {
          $text = $number . ' ' . __( 'Comment' , '__x__' );
        } else {
          $text = $number . ' ' . __( 'Comments' , '__x__' );
        }
    
        $comments = sprintf( '<span><a href="%1$s" title="%2$s" class="meta-comments"><i class="x-icon-comments" data-x-icon=""></i> %3$s</a></span>',
          esc_url( $link ),
          esc_attr( sprintf( __( 'Leave a comment on: &ldquo;%s&rdquo;', '__x__' ), $title ) ),
          $text
        );
    
      } else {
    
        $comments = '';
    
      }
    
      //
      // Output.
      //
    
      if ( x_does_not_need_entry_meta() ) {
        return;
      } else {
        printf( '<p class="p-meta">%1$s%2$s%3$s%4$s</p>',
          $author,
          $date,
          $categories_list,
          $comments
        );
      }
    
    }
    
    // =============================================================================
    #899757

    Paul R
    Moderator

    Hi,

    Please change the entire code in your functions.php file with this.

    
    <?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
    // =============================================================================
    
    // Custom Integrity Meta to support WPDM categories
    // =============================================================================
    function x_integrity_entry_meta() {
    
      //
      // Author.
      //
    
      $author = sprintf( '<span><i class="x-icon-pencil" data-x-icon=""></i> %s</span>',
        get_the_author()
      );
    
      //
      // Date.
      //
    
      $date = sprintf( '<span><time class="entry-date" datetime="%1$s"><i class="x-icon-calendar" data-x-icon=""></i> %2$s</time></span>',
        esc_attr( get_the_date( 'c' ) ),
        esc_html( get_the_date() )
      );
    
      //
      // Categories.
      //
    
      if ( get_post_type() == 'x-portfolio' ) {
        if ( has_term( '', 'portfolio-category', NULL ) ) {
          $categories        = get_the_terms( get_the_ID(), 'portfolio-category' );
          $separator         = ', ';
          $categories_output = '';
      if ( is_array( $categories ) && count($categories) > 0 ) {
          foreach ( $categories as $category ) {
            $categories_output .= '<a href="'
                        . get_term_link( $category->slug, 'portfolio-category' )
                        . '" title="'
                        . esc_attr( sprintf( __( "View all posts in: &ldquo;%s&rdquo;", '__x__' ), $category->name ) )
                        . '"><i class="x-icon-bookmark" data-x-icon=""></i> '
                        . $category->name
                        . '</a>'
                        . $separator;
          }
      }
    
          $categories_list = sprintf( '<span>%s</span>',
            trim( $categories_output, $separator )
          );
        } else {
          $categories_list = '';
        }
      } else {
    
        if ( get_post_type() == 'wpdmpro') {
          $categories        = get_the_terms( $id, 'wpdmcategory' );
        } else {
          $categories        = get_the_category();
        }
    
        $separator         = ', ';
        $categories_output = '';
        if ( is_array( $categories ) && count($categories) > 0 ) {
        foreach ( $categories as $category ) {
          $categories_output .= '<a href="'
                              . get_category_link( $category->term_id )
                              . '" title="'
                              . esc_attr( sprintf( __( "View all posts in: &ldquo;%s&rdquo;", '__x__' ), $category->name ) )
                              . '"><i class="x-icon-bookmark" data-x-icon=""></i> '
                              . $category->name
                              . '</a>'
                              . $separator;
        }
        }
        $categories_list = sprintf( '<span>%s</span>',
          trim( $categories_output, $separator )
        );
      }
    
      //
      // Comments link.
      //
    
      if ( comments_open() ) {
    
        $title  = apply_filters( 'x_entry_meta_comments_title', get_the_title() );
        $link   = apply_filters( 'x_entry_meta_comments_link', get_comments_link() );
        $number = apply_filters( 'x_entry_meta_comments_number', get_comments_number() );
    
        if ( $number == 0 ) {
          $text = __( 'Leave a Comment' , '__x__' );
        } else if ( $number == 1 ) {
          $text = $number . ' ' . __( 'Comment' , '__x__' );
        } else {
          $text = $number . ' ' . __( 'Comments' , '__x__' );
        }
    
        $comments = sprintf( '<span><a href="%1$s" title="%2$s" class="meta-comments"><i class="x-icon-comments" data-x-icon=""></i> %3$s</a></span>',
          esc_url( $link ),
          esc_attr( sprintf( __( 'Leave a comment on: &ldquo;%s&rdquo;', '__x__' ), $title ) ),
          $text
        );
    
      } else {
    
        $comments = '';
    
      }
    
      //
      // Output.
      //
    
      if ( x_does_not_need_entry_meta() ) {
        return;
      } else {
        printf( '<p class="p-meta">%1$s%2$s%3$s%4$s</p>',
          $author,
          $date,
          $categories_list,
          $comments
        );
      }
    
    }
    
    // =============================================================================
    

    Hope that helps.

    #899764

    Drakah
    Participant

    That works as far as I can tell, thank you so much for helping me! 🙂

    #901390

    Friech
    Moderator

    Glad we could help, should you require any further assistance with X|THEME and Cornerstone, please feel free to get in touch with us.

    Cheers!