forked from woocommerce/woocommerce
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request woocommerce#19342 from woocommerce/update/walkers-…
…phpcs Fixed walkers PHPCS violations
- Loading branch information
Showing
7 changed files
with
268 additions
and
248 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,104 +1,11 @@ | ||
<?php | ||
/** | ||
* WC_Product_Cat_Dropdown_Walker class | ||
* Legacy WC_Product_Cat_Dropdown_Walker file | ||
* | ||
* @extends Walker | ||
* @class WC_Product_Cat_Dropdown_Walker | ||
* @version 1.6.4 | ||
* @package WooCommerce/Classes/Walkers | ||
* @author WooThemes | ||
* @package WooCommerce/Classes/Walkers | ||
* @deprecated 3.4.0 | ||
*/ | ||
|
||
if ( ! defined( 'ABSPATH' ) ) { | ||
exit; // Exit if accessed directly | ||
} | ||
defined( 'ABSPATH' ) || exit; | ||
|
||
if ( ! class_exists( 'WC_Product_Cat_Dropdown_Walker', false ) ) : | ||
|
||
class WC_Product_Cat_Dropdown_Walker extends Walker { | ||
|
||
/** | ||
* What the class handles. | ||
* | ||
* @var string | ||
*/ | ||
public $tree_type = 'category'; | ||
|
||
/** | ||
* DB fields to use. | ||
* | ||
* @var array | ||
*/ | ||
public $db_fields = array( | ||
'parent' => 'parent', | ||
'id' => 'term_id', | ||
'slug' => 'slug', | ||
); | ||
|
||
/** | ||
* Starts the list before the elements are added. | ||
* | ||
* @see Walker::start_el() | ||
* @since 2.1.0 | ||
* | ||
* @param string $output Passed by reference. Used to append additional content. | ||
* @param object $cat | ||
* @param int $depth Depth of category in reference to parents. | ||
* @param array $args | ||
* @param int $current_object_id | ||
*/ | ||
public function start_el( &$output, $cat, $depth = 0, $args = array(), $current_object_id = 0 ) { | ||
|
||
if ( ! empty( $args['hierarchical'] ) ) { | ||
$pad = str_repeat( ' ', $depth * 3 ); | ||
} else { | ||
$pad = ''; | ||
} | ||
|
||
$cat_name = apply_filters( 'list_product_cats', $cat->name, $cat ); | ||
$value = ( isset( $args['value'] ) && 'id' === $args['value'] ) ? $cat->term_id : $cat->slug; | ||
$output .= "\t<option class=\"level-$depth\" value=\"" . esc_attr( $value ) . "\""; | ||
|
||
if ( $value === $args['selected'] || ( is_array( $args['selected'] ) && in_array( $value, $args['selected'] ) ) ) { | ||
$output .= ' selected="selected"'; | ||
} | ||
|
||
$output .= '>'; | ||
$output .= esc_html( $pad . _x( $cat_name, 'product category name', 'woocommerce' ) ); | ||
|
||
if ( ! empty( $args['show_count'] ) ) { | ||
$output .= ' (' . absint( $cat->count ) . ')'; | ||
} | ||
|
||
$output .= "</option>\n"; | ||
} | ||
|
||
/** | ||
* Traverse elements to create list from elements. | ||
* | ||
* Display one element if the element doesn't have any children otherwise, | ||
* display the element and its children. Will only traverse up to the max. | ||
* depth and no ignore elements under that depth. It is possible to set the. | ||
* max depth to include all depths, see walk() method. | ||
* | ||
* This method shouldn't be called directly, use the walk() method instead. | ||
* | ||
* @since 2.5.0 | ||
* | ||
* @param object $element Data object | ||
* @param array $children_elements List of elements to continue traversing. | ||
* @param int $max_depth Max depth to traverse. | ||
* @param int $depth Depth of current element. | ||
* @param array $args | ||
* @param string $output Passed by reference. Used to append additional content. | ||
* @return null Null on failure with no changes to parameters. | ||
*/ | ||
public function display_element( $element, &$children_elements, $max_depth, $depth = 0, $args, &$output ) { | ||
if ( ! $element || ( 0 === $element->count && ! empty( $args[0]['hide_empty'] ) ) ) { | ||
return; | ||
} | ||
parent::display_element( $element, $children_elements, $max_depth, $depth, $args, $output ); | ||
} | ||
} | ||
|
||
endif; | ||
require dirname( __FILE__ ) . '/class-wc-product-cat-dropdown-walker.php'; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,153 +1,11 @@ | ||
<?php | ||
/** | ||
* WC_Product_Cat_List_Walker class | ||
* Legacy WC_Product_Cat_List_Walker file | ||
* | ||
* @extends Walker | ||
* @class WC_Product_Cat_Dropdown_Walker | ||
* @version 2.3.0 | ||
* @package WooCommerce/Classes/Walkers | ||
* @author WooThemes | ||
* @package WooCommerce/Classes/Walkers | ||
* @deprecated 3.4.0 | ||
*/ | ||
|
||
if ( ! defined( 'ABSPATH' ) ) { | ||
exit; // Exit if accessed directly | ||
} | ||
defined( 'ABSPATH' ) || exit; | ||
|
||
if ( ! class_exists( 'WC_Product_Cat_List_Walker', false ) ) : | ||
|
||
class WC_Product_Cat_List_Walker extends Walker { | ||
|
||
/** | ||
* What the class handles. | ||
* | ||
* @var string | ||
*/ | ||
public $tree_type = 'product_cat'; | ||
|
||
/** | ||
* DB fields to use. | ||
* | ||
* @var array | ||
*/ | ||
public $db_fields = array( | ||
'parent' => 'parent', | ||
'id' => 'term_id', | ||
'slug' => 'slug', | ||
); | ||
|
||
/** | ||
* Starts the list before the elements are added. | ||
* | ||
* @see Walker::start_lvl() | ||
* @since 2.1.0 | ||
* | ||
* @param string $output Passed by reference. Used to append additional content. | ||
* @param int $depth Depth of category. Used for tab indentation. | ||
* @param array $args Will only append content if style argument value is 'list'. | ||
*/ | ||
public function start_lvl( &$output, $depth = 0, $args = array() ) { | ||
if ( 'list' != $args['style'] ) { | ||
return; | ||
} | ||
|
||
$indent = str_repeat( "\t", $depth ); | ||
$output .= "$indent<ul class='children'>\n"; | ||
} | ||
|
||
/** | ||
* Ends the list of after the elements are added. | ||
* | ||
* @see Walker::end_lvl() | ||
* @since 2.1.0 | ||
* | ||
* @param string $output Passed by reference. Used to append additional content. | ||
* @param int $depth Depth of category. Used for tab indentation. | ||
* @param array $args Will only append content if style argument value is 'list'. | ||
*/ | ||
public function end_lvl( &$output, $depth = 0, $args = array() ) { | ||
if ( 'list' != $args['style'] ) { | ||
return; | ||
} | ||
|
||
$indent = str_repeat( "\t", $depth ); | ||
$output .= "$indent</ul>\n"; | ||
} | ||
|
||
/** | ||
* Start the element output. | ||
* | ||
* @see Walker::start_el() | ||
* @since 2.1.0 | ||
* | ||
* @param string $output Passed by reference. Used to append additional content. | ||
* @param object $cat | ||
* @param int $depth Depth of category in reference to parents. | ||
* @param array $args | ||
* @param integer $current_object_id | ||
*/ | ||
public function start_el( &$output, $cat, $depth = 0, $args = array(), $current_object_id = 0 ) { | ||
$output .= '<li class="cat-item cat-item-' . $cat->term_id; | ||
|
||
if ( $args['current_category'] == $cat->term_id ) { | ||
$output .= ' current-cat'; | ||
} | ||
|
||
if ( $args['has_children'] && $args['hierarchical'] && ( empty( $args['max_depth'] ) || $args['max_depth'] > $depth + 1 ) ) { | ||
$output .= ' cat-parent'; | ||
} | ||
|
||
if ( $args['current_category_ancestors'] && $args['current_category'] && in_array( $cat->term_id, $args['current_category_ancestors'] ) ) { | ||
$output .= ' current-cat-parent'; | ||
} | ||
|
||
$output .= '"><a href="' . get_term_link( (int) $cat->term_id, $this->tree_type ) . '">' . _x( $cat->name, 'product category name', 'woocommerce' ) . '</a>'; | ||
|
||
if ( $args['show_count'] ) { | ||
$output .= ' <span class="count">(' . $cat->count . ')</span>'; | ||
} | ||
} | ||
|
||
/** | ||
* Ends the element output, if needed. | ||
* | ||
* @see Walker::end_el() | ||
* @since 2.1.0 | ||
* | ||
* @param string $output Passed by reference. Used to append additional content. | ||
* @param object $cat | ||
* @param int $depth Depth of category. Not used. | ||
* @param array $args Only uses 'list' for whether should append to output. | ||
*/ | ||
public function end_el( &$output, $cat, $depth = 0, $args = array() ) { | ||
$output .= "</li>\n"; | ||
} | ||
|
||
/** | ||
* Traverse elements to create list from elements. | ||
* | ||
* Display one element if the element doesn't have any children otherwise, | ||
* display the element and its children. Will only traverse up to the max. | ||
* depth and no ignore elements under that depth. It is possible to set the. | ||
* max depth to include all depths, see walk() method. | ||
* | ||
* This method shouldn't be called directly, use the walk() method instead. | ||
* | ||
* @since 2.5.0 | ||
* | ||
* @param object $element Data object | ||
* @param array $children_elements List of elements to continue traversing. | ||
* @param int $max_depth Max depth to traverse. | ||
* @param int $depth Depth of current element. | ||
* @param array $args | ||
* @param string $output Passed by reference. Used to append additional content. | ||
* @return null Null on failure with no changes to parameters. | ||
*/ | ||
public function display_element( $element, &$children_elements, $max_depth, $depth = 0, $args, &$output ) { | ||
if ( ! $element || ( 0 === $element->count && ! empty( $args[0]['hide_empty'] ) ) ) { | ||
return; | ||
} | ||
parent::display_element( $element, $children_elements, $max_depth, $depth, $args, $output ); | ||
} | ||
} | ||
|
||
endif; | ||
require dirname( __FILE__ ) . '/class-wc-product-cat-list-walker.php'; |
102 changes: 102 additions & 0 deletions
102
includes/walkers/class-wc-product-cat-dropdown-walker.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,102 @@ | ||
<?php | ||
/** | ||
* WC_Product_Cat_Dropdown_Walker class | ||
* | ||
* @package WooCommerce/Classes/Walkers | ||
* @version 3.4.0 | ||
*/ | ||
|
||
defined( 'ABSPATH' ) || exit; | ||
|
||
if ( class_exists( 'WC_Product_Cat_Dropdown_Walker', false ) ) { | ||
return; | ||
} | ||
|
||
/** | ||
* Product category dropdown walker class. | ||
*/ | ||
class WC_Product_Cat_Dropdown_Walker extends Walker { | ||
|
||
/** | ||
* What the class handles. | ||
* | ||
* @var string | ||
*/ | ||
public $tree_type = 'category'; | ||
|
||
/** | ||
* DB fields to use. | ||
* | ||
* @var array | ||
*/ | ||
public $db_fields = array( | ||
'parent' => 'parent', | ||
'id' => 'term_id', | ||
'slug' => 'slug', | ||
); | ||
|
||
/** | ||
* Starts the list before the elements are added. | ||
* | ||
* @see Walker::start_el() | ||
* @since 2.1.0 | ||
* | ||
* @param string $output Passed by reference. Used to append additional content. | ||
* @param object $cat Category. | ||
* @param int $depth Depth of category in reference to parents. | ||
* @param array $args Arguments. | ||
* @param int $current_object_id Current object ID. | ||
*/ | ||
public function start_el( &$output, $cat, $depth = 0, $args = array(), $current_object_id = 0 ) { | ||
|
||
if ( ! empty( $args['hierarchical'] ) ) { | ||
$pad = str_repeat( ' ', $depth * 3 ); | ||
} else { | ||
$pad = ''; | ||
} | ||
|
||
$cat_name = apply_filters( 'list_product_cats', $cat->name, $cat ); | ||
$value = ( isset( $args['value'] ) && 'id' === $args['value'] ) ? $cat->term_id : $cat->slug; | ||
$output .= "\t<option class=\"level-$depth\" value=\"" . esc_attr( $value ) . '"'; | ||
|
||
if ( $value === $args['selected'] || ( is_array( $args['selected'] ) && in_array( $value, $args['selected'], true ) ) ) { | ||
$output .= ' selected="selected"'; | ||
} | ||
|
||
$output .= '>'; | ||
$output .= esc_html( $pad . $cat_name ); | ||
|
||
if ( ! empty( $args['show_count'] ) ) { | ||
$output .= ' (' . absint( $cat->count ) . ')'; | ||
} | ||
|
||
$output .= "</option>\n"; | ||
} | ||
|
||
/** | ||
* Traverse elements to create list from elements. | ||
* | ||
* Display one element if the element doesn't have any children otherwise, | ||
* display the element and its children. Will only traverse up to the max. | ||
* depth and no ignore elements under that depth. It is possible to set the. | ||
* max depth to include all depths, see walk() method. | ||
* | ||
* This method shouldn't be called directly, use the walk() method instead. | ||
* | ||
* @since 2.5.0 | ||
* | ||
* @param object $element Data object. | ||
* @param array $children_elements List of elements to continue traversing. | ||
* @param int $max_depth Max depth to traverse. | ||
* @param int $depth Depth of current element. | ||
* @param array $args Arguments. | ||
* @param string $output Passed by reference. Used to append additional content. | ||
* @return null Null on failure with no changes to parameters. | ||
*/ | ||
public function display_element( $element, &$children_elements, $max_depth, $depth = 0, $args, &$output ) { | ||
if ( ! $element || ( 0 === $element->count && ! empty( $args[0]['hide_empty'] ) ) ) { | ||
return; | ||
} | ||
parent::display_element( $element, $children_elements, $max_depth, $depth, $args, $output ); | ||
} | ||
} |
Oops, something went wrong.