File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -44,11 +44,35 @@ function carelib_body_class_filter( $classes ) {
4444 *
4545 * @since 1.0.0
4646 * @access public
47- * @param array $classes
47+ * @param array $classes
48+ * @param string|array $class
49+ * @param int $post_id
4850 * @return array
4951 */
50- function carelib_post_class_filter ( $ classes ) {
51- return array_diff ( $ classes , array ( 'hentry ' ) );
52+ function carelib_post_class_filter ( $ classes , $ class , $ post_id ) {
53+ $ _classes = array ();
54+ $ post = get_post ( $ post_id );
55+ $ post_type = get_post_type ();
56+ $ post_status = get_post_status ();
57+
58+ $ remove = array ( 'hentry ' , "type- {$ post_type }" , "status- {$ post_status }" );
59+
60+ foreach ( $ classes as $ key => $ class ) {
61+
62+ if ( in_array ( $ class , $ remove , true ) ) {
63+ unset( $ classes [ $ key ] );
64+ } else {
65+ $ classes [ $ key ] = str_replace ( 'tag- ' , 'post_tag- ' , $ class );
66+ }
67+ }
68+
69+ $ _classes [] = 'entry ' ;
70+ $ _classes [] = $ post_type ;
71+ $ _classes [] = $ post_status ;
72+
73+ $ _classes = array_map ( 'esc_attr ' , $ _classes );
74+
75+ return array_unique ( array_merge ( $ _classes , $ classes ) );
5276}
5377
5478/**
Original file line number Diff line number Diff line change 280280 *
281281 * @see carelib_post_class_filter
282282 */
283- add_filter ( 'post_class ' , 'carelib_post_class_filter ' , 0 );
283+ add_filter ( 'post_class ' , 'carelib_post_class_filter ' , 0 , 3 );
284284
285285/**
286286 * Callback defined in includes/context.php
You can’t perform that action at this time.
0 commit comments