• Resolved meslavina

    (@aineko)


    Hello ??

    Please can you help me?
    I spend week to solve it, but I can’t ??

    I create my first WordPress theme. I use this theme
    https://jointswp.com as a foundation.

    Problem in that when I create a portfolio post –
    the category of this post is displayed. But when I
    click on a single image – the category isn’t displayed.

    Demo: https://yummythemes.com

    I tested with other themes and had the same result ??

    I studied Codex and files of a plugin, but have no idea
    how to solve it.

    Please can you help?

    https://www.ads-software.com/plugins/dportfolio/

Viewing 5 replies - 1 through 5 (of 5 total)
  • Plugin Author dinamiko

    (@dinamiko)

    Hi Aineko,

    in dportfolio / includes / class-dportfolio.php add this function:

    public function dportfolio_get_category() {
    
    	global $post;
    
    	$terms = get_the_terms( $post->ID, 'dportfolio_categories' );
    	$content = '';
    
    	foreach ($terms as $term) {
    
    		$content .= '<a href="'. $term->slug .'">'. $term->name .'</a>';
    
    	}
    
    	return $content;
    
    }

    and then in a theme single.php for example, can be accesed this way:

    if ( class_exists( 'DPortfolio' ) ) {
    
       echo DPortfolio::instance()->dportfolio_get_category();
    
    }

    basically in dportfolio_get_category function you can access all the returned values of get_the_terms https://codex.www.ads-software.com/Function_Reference/get_the_terms

    Best

    Thread Starter meslavina

    (@aineko)

    Thank you very much for your respond!

    It didn’t help ??

    I follow your instructions, but I see a white screen ??

    First function should be added at the end of the class-dportfolio.php?

    Best

    Plugin Author dinamiko

    (@dinamiko)

    Hi Aineko,

    a white screen sometimes means a PHP error but with display errors disabled in your configuration. You need to know what error are you getting.

    Best

    Thread Starter meslavina

    (@aineko)

    Thank you,
    I have a fresh WordPress installation on my local server.

    If I add first function in class-dportfolio.php, I receive this error:

    "Parse error: syntax error, unexpected 'public' (T_PUBLIC) in C:\Users\Aineko\Documents\My Web Sites\WordPress\wp-content\plugins\dportfolio\includes\class-dportfolio.php on line 107".

    If I add first function not in the end of class-dportfolio.php (line 125), on line 71 for example – I don’t receive this error. But when I add second function in a part of theme that display post category (loop-single.php), where was:
    <p>Posted on <?php the_time('F j, Y') ?> in <?php the_category(', ') ?></p>
    and now it is:

    <p>Posted on <?php the_time('F j, Y') ?> in <?php if ( class_exists( 'DPortfolio' ) ) {
    echo DPortfolio::instance()->dportfolio_get_category();
    }</p>

    – then I receive this error:"Warning: Invalid argument supplied for foreach() in C:\Users\Aineko\Documents\My Web Sites\WordPress\wp-content\plugins\dportfolio\includes\class-dportfolio.php on line 78" for all posts where should be displayed post category, but for single portfolio category now is displayed ??

    I’m sorry for a long post :), but maybe here some solution?

    Thread Starter meslavina

    (@aineko)

    Hi ??
    I solved it! Thank you very much. The problem was in my template. Everything is fine! Love this plugin! ??

Viewing 5 replies - 1 through 5 (of 5 total)
  • The topic ‘Display category in single project’ is closed to new replies.