Using WordPress and Genesis Framework
If I add the widget "Categories" in the sidebar I display the count of items, the number is enclosed in parentheses. For example: (2), (12), (7)...
To achieve this, I opened the file wp-includes/category-template.php I found the following line:
if ( !empty($show_count) )
$link .= ' (' . number_format_i18n( $category->count ) . ')';
and I edited in the following way:
if ( !empty($show_count) )
$link .= ' <div class="myclass">' . number_format_i18n( $category->count ) . '</div>';
in the file style.css I created the class .myclass and everything works beautifully, as in the following example: http://i.imgur.com/vdtCbjm.jpg
But I do not think it's a good thing modifying the core of WordPress. How can I get the same result without changing wordpress? I want to use that piece of code in the functions.php file of my theme, but I do not know how to do that. I'm not a programmer, and to find that piece of code have gone mad. I Use Genesis Framework, with theme child sample.
Thank you for any help
You can get same result by creating another widget in theme.
Following code will create another Widget.
And you also can change display by changes $replacement String. Remember, Don't change $1, $2, $3, $4 variables.
Add This code into your theme's functions.php file:-
// Register our tweaked Category Archives widget
function myprefix_widgets_init() {
register_widget( 'WP_Widget_Categories_custom' );
}
add_action( 'widgets_init', 'myprefix_widgets_init' );
/**
* Duplicated and tweaked WP core Categories widget class
*/
class WP_Widget_Categories_Custom extends WP_Widget {
function __construct()
{
$widget_ops = array( 'classname' => 'widget_categories widget_categories_custom', 'description' => __( "A list of categories, with slightly tweaked output.", 'mytextdomain' ) );
parent::__construct( 'categories_custom', __( 'Categories Custom', 'mytextdomain' ), $widget_ops );
}
function widget( $args, $instance )
{
extract( $args );
$title = apply_filters( 'widget_title', empty( $instance['title'] ) ? __( 'Categories Custom', 'mytextdomain' ) : $instance['title'], $instance, $this->id_base);
echo $before_widget;
if ( $title )
echo $before_title . $title . $after_title;
?>
<ul>
<?php
// Get the category list, and tweak the output of the markup.
$pattern = '#<li([^>]*)><a([^>]*)>(.*?)<\/a>\s*\(([0-9]*)\)\s*<\/li>#i'; // removed ( and )
// $replacement = '<li$1><a$2>$3</a><span class="cat-count">$4</span>'; // no link on span
// $replacement = '<li$1><a$2>$3</a><span class="cat-count"><a$2>$4</a></span>'; // wrap link in span
$replacement = '<li$1><a$2><span class="cat-name">$3</span> <span class="cat-count">($4)</span></a>'; // give cat name and count a span, wrap it all in a link
$args = array(
'orderby' => 'name',
'order' => 'ASC',
'show_count' => 1,
'title_li' => '',
'exclude' => '2,5,31',
'echo' => 0,
'depth' => 1,
);
$subject = wp_list_categories( $args );
echo preg_replace( $pattern, $replacement, $subject );
?>
</ul>
<?php
echo $after_widget;
}
function update( $new_instance, $old_instance )
{
$instance = $old_instance;
$instance['title'] = strip_tags( $new_instance['title'] );
$instance['count'] = 1;
$instance['hierarchical'] = 0;
$instance['dropdown'] = 0;
return $instance;
}
function form( $instance )
{
//Defaults
$instance = wp_parse_args( (array) $instance, array( 'title' => '') );
$title = esc_attr( $instance['title'] );
$count = true;
$hierarchical = false;
$dropdown = false;
?>
<p>
<label for="<?php echo $this->get_field_id('title', 'mytextdomain' ); ?>"><?php _e( 'Title:', 'mytextdomain' ); ?></label>
<input class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo $title; ?>" />
</p>
<input type="checkbox" class="checkbox" id="<?php echo $this->get_field_id('count'); ?>" name="<?php echo $this->get_field_name('count'); ?>" <?php checked( $count ); ?> disabled="disabled" />
<label for="<?php echo $this->get_field_id('count'); ?>"><?php _e( 'Show post counts', 'mytextdomain' ); ?></label>
<br />
<?php
}
}
Hope this will help you.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With