Enhanced Category Pages

Description

NEW Version 2.0.0 brings a great new feature: with some magic, if your theme displays category/term description, then it would be automatically enhanced.
Are you ready for more? You can customize the template by creating a content-ecp.php file in your theme of choice.

Enhanced Category Pages allows you to create custom category and term pages by managing them using a special custom post type.

Premium code quality ensured by Codacy static analysis: grade A.

Features

  • NEW Visual Composer compatible – you can now edit the category using Visual Composer
  • NEW Genesis Framework compatible
  • WooCommerce compatible – product categories can be enhanced now
  • Easy to use for everyone: users, designers, developers
  • Automatically show enhanced category/term content
  • Customize enhanced category/term content by creating a content-ecp.php file in your theme of choice
  • Traverse categories using setup_ec_data that allows now category id as parameter
  • Enhance any taxonomy: edit any taxonomy term as a custom post
  • Edit category as a custom post – Enhanced Category
  • Automatically generates Enhanced Category post type for each category
  • Transparent synchronization of Enhanced Category and it’s corresponding category
  • Add any features available to WordPress custom posts
  • Easy Enhanced Category display on category template using <?php $GLOBALS['enhanced_category']->setup_ec_data(); ?> (see install section)
  • Internationalization ready

Future Features

  • customize Enhanced Category custom post type capabilities via plugin options
  • manual selection on enhanced categories

Screenshots

  • Enhanced Edit link in category list
  • Enhanced Edit link in category edit
  • Enhanced Category custom post type edit
  • Category public view

Installation

  1. Download plugin archive.
  2. Upload and uncompress it in “/wp-content/plugins/” directory.
  3. Activate the plugin through the “Plugins” menu in WordPress.
  4. Use “Enhanced Edit” link to edit the page of the respective category
  5. Category/term description display is automatically enhanced with your content.
  6. Optional: create content-ecp.php in your theme folder to customize the display.

Advanced usage options

  1. Create content-ecp.php in your theme folder to customize the display of the enhanced content. The custom post associated with category/term is set up, so all display functions for posts are usable.

    <?php
        global $enhanced_category;
        // if not previously set up, then let setup_ec_data get the current query term/category
        if (empty($categoryId)) {
            $categoryId = null;
        }
    
        // get enhanced category post and set it up as global current post
        $enhanced_category->setup_ec_data($categoryId);
    ?>
    
    <!-- enchanced category page (ECP) content -->
    <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
    
        <div class="post-thumbnail">
            <?php the_post_thumbnail(); ?>
        </div>
    
        <div class="entry-content">
            <?php the_content(); ?>
        </div><!-- .entry-content -->
    
        <?php edit_post_link( __( 'Edit'), '<footer class="entry-footer"><span class="edit-link">', '</span></footer><!-- .entry-footer -->' ); ?>
    
    </article><!-- #post-## -->
    
  2. Display category/term page. Edit category/taxonomy template to show the content of the “Enhanced Category” (feel free to adjust to your needs):

    //in category.php or taxonomy.php or any other place your theme displays the category/term content
    <?php
        global $enhanced_category;
        //get enhanced category post and set it up as global current post
        $enhanced_category->setup_ec_data();
    ?>
    <!-- enhanced category content -->
    <?php the_post_thumbnail("medium"); ?>
    
    <?php get_template_part( 'content', 'page' ); ?>
    
    <!-- custom fields -->
    <?php
        get_post_custom();
    ?>
    
    <?php
        // If comments are open or we have at least one comment, load up the comment template
        if ( comments_open() || get_comments_number() ) :
            comments_template();
        endif;
    ?>
    
  3. Display a list of categories:

    //$categories is presumed to be an already fetched array of categories/terms
    foreach($categories as $category) {
        $GLOBALS['enhanced_category']->setup_ec_data($category->term_id);
        the_post_thumbnail('thumbnail');
    }
    

FAQ

How does magic happen?

We use the category_description or get_the_archive_description filters in order to replace the plain content with the enhanced one.

How can I customize the output?
  • content-ecp.php and content-page.php partial templates are looked for (in that order) and the first found is loaded.
What custom post type is created?

Enhanced Category (safe name: enhancedcategory) custom post type is created and a post is generated automatically for each category/term.

What happens if I edit the category fields?

Enhanced Category Post (ECP) is synchronized in both directions with it’s corresponding category i.e. category name – ECP title, category slug – ECP slug, category description – ECP excerpt.

What happens with *Enhanced Category* posts when the plugin is uninstalled?

Enhanced Category posts are deleted when the plugin is deleted using the WordPress plugin management page. Note: nothing is deleted when the plugin deactivated.

Can I use it to list any categories/terms?

Yes, you can pass the category/term id to setup_ec_data method like this ($categories is presumed to be an already fetched array of categories/terms):

                foreach($categories as $category) {
                    $GLOBALS['enhanced_category']->setup_ec_data($category->term_id);
                    the_post_thumbnail('thumbnail');
                }
Why do I get a blank screen after installing the plugin?

Enhanced Category Post (ECP) requires at least PHP 5.3 running on your server. Contact your hosting to update the PHP version.

Reviews

Could use some improvements but it works 😉

Overall it’s a good plugin because it does what it says it does 😉 But it’s not really coded using the WP coding standards. The code isn’t bad but could be updated to use best practices – https://make.wordpress.org/core/handbook/best-practices/coding-standards/php/

The Visual Composer support works ok, but the plugin doesn’t load the CSS from the ‘_wpb_shortcodes_custom_css’ custom field so you can’t add backgrounds, paddings, etc to rows/columns/modules. This is an easy fix which I can assist with. Do you have an active Github repo where I can submit a pull-request?

Great work!

– AJ

Needs an update

It’s not compatible with the last woo-commerce update.

it gives Fatal error: Call to a member function add_new_from_category() on null in /nas/content/staging/xxx/wp-content/plugins/enhanced-category-pages/classes/ecp/WP_Integration.php on line 248

any help, please…

After 3 week without a response

At first I am super excited about this plugin and activated it. It gave error to my site so I tried to post in support forum but after 3 weeks there is no response which is not supportive in this terms.

very useful

very useful, gives a nice flexibility to themes that cannot support html in product categories.

Read all 21 reviews

Contributors & Developers

“Enhanced Category Pages” is open source software. The following people have contributed to this plugin.

Contributors

“Enhanced Category Pages” has been translated into 1 locale. Thank you to the translators for their contributions.

Translate “Enhanced Category Pages” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

0.1

  • Initial release.

0.2

  • Make php 5.3 compatible.

1.0

  • Enhance any taxonomy

1.0.1

  • bug fixing

1.0.2

  • setup_ec_data allows now category id as parameter

2.0.0

  • automatically show the enhanced content using category_description or get_the_archive_description filters
  • customize the display of content with content-ecp.php theme partial template

2.0.1

  • bug-fix – prevent undesired PHP warning on category_description filter
  • check and update 4.3.1 compatibility

2.1.0

  • WooCommerce product category can be enhanced now

2.1.1

  • Improve code quality

2.1.2

  • Add WordPress 4.4 compatibility

2.1.3

  • Bug fix: correctly handle categories with apostrophes

2.2.0

  • All in One SEO Pack plugin compatibility added

2.2.1

  • Minor bug fix: prevent PHP notice

2.3.0

  • Add Visual Composer compatibility
  • Add Genesis Framework compatibility
  • Bug fix: Woocommerce shop page does not display the description of the first product anymore
  • Bug fix: archive pages were showing the content of the first item