/home/site110138/public_html/wp-content/plugins/yith-woocommerce-compare/includes/class-yith-woocompare-table.php
/**
* APPLY_FILTERS: yith_woocompare_exclude_products_from_list
*
* Filters the products to exclude some from the comparison table.
*
* @param array $products Products to filter.
* @return array
*/
$products = apply_filters( 'yith_woocompare_exclude_products_from_list', $products );
$fields = $this->get_fields( $product_ids );
$formatted = array();
foreach ( $products as $product_id ) {
$product = wc_get_product( $product_id );
if ( ! $product ) {
continue;
}
$product->fields = array();
$attributes = $product->get_attributes();
foreach ( $fields as $field => $name ) {
switch ( $field ) {
case 'title':
$product->fields[ $field ] = $product->get_title();
break;
case 'price':
$product->fields[ $field ] = $product->get_price_html();
break;
case 'image':
$product->fields[ $field ] = absint( $product->get_image_id() );
break;
case 'description':
// Get description.
if ( 'yes' === get_option( 'yith_woocompare_use_full_description', 'no' ) ) {
$description = $product->get_description();
} else {
$description = apply_filters( 'woocommerce_short_description', $product->get_short_description() );
}
Arguments
"Creation of dynamic property WC_Product_Simple::$fields is deprecated"
/home/site110138/public_html/wp-content/plugins/yith-woocommerce-compare/includes/class-yith-woocompare-table.php
/**
* APPLY_FILTERS: yith_woocompare_exclude_products_from_list
*
* Filters the products to exclude some from the comparison table.
*
* @param array $products Products to filter.
* @return array
*/
$products = apply_filters( 'yith_woocompare_exclude_products_from_list', $products );
$fields = $this->get_fields( $product_ids );
$formatted = array();
foreach ( $products as $product_id ) {
$product = wc_get_product( $product_id );
if ( ! $product ) {
continue;
}
$product->fields = array();
$attributes = $product->get_attributes();
foreach ( $fields as $field => $name ) {
switch ( $field ) {
case 'title':
$product->fields[ $field ] = $product->get_title();
break;
case 'price':
$product->fields[ $field ] = $product->get_price_html();
break;
case 'image':
$product->fields[ $field ] = absint( $product->get_image_id() );
break;
case 'description':
// Get description.
if ( 'yes' === get_option( 'yith_woocompare_use_full_description', 'no' ) ) {
$description = $product->get_description();
} else {
$description = apply_filters( 'woocommerce_short_description', $product->get_short_description() );
}
Arguments
8192
"Creation of dynamic property WC_Product_Simple::$fields is deprecated"
"/home/site110138/public_html/wp-content/plugins/yith-woocommerce-compare/includes/class-yith-woocompare-table.php"
147
/home/site110138/public_html/wp-content/plugins/yith-woocommerce-compare/includes/class-yith-woocompare-table.php
}
if ( $table_title ) :
?>
<h2><?php echo wp_kses_post( $table_title ); ?></h2>
<?php
endif;
if ( $table_desc ) :
?>
<p><?php echo wp_kses_post( $table_desc ); ?></p>
<?php
endif;
}
/**
* Render preview bar
*/
public function output_preview_bar() {
$products = $this->get_products();
$has_more = 5 < count( $products );
$compare_button_text = get_option( 'yith_woocompare_button_text_added', __( 'View comparison', 'yith-woocommerce-compare' ) );
$compare_button_classes = array( 'yith-woocompare-open', 'button', wc_wp_theme_get_element_class_name( 'button' ) );
$compare_url = YITH_WooCompare_Frontend::instance()->get_table_url();
$args = array_merge(
$this->args,
array(
'has_more' => $has_more,
'remaining' => $has_more ? count( $products ) - 4 : 0,
'products' => $has_more ? array_slice( $products, 0, 4, true ) : $products,
'compare_button_text' => $compare_button_text,
'compare_button_classes' => implode( ' ', $compare_button_classes ),
'compare_url' => $compare_url,
)
);
wc_get_template( $this->preview_bar_template, $args, '', YITH_WOOCOMPARE_TEMPLATE_PATH );
}
/home/site110138/public_html/wp-content/plugins/yith-woocommerce-compare/includes/class-yith-woocompare-frontend.php
/* === PREVIEW BAR === */
/**
* Output preview bar
*/
public function output_preview_bar() {
static $processed = false;
if ( $processed ) {
return;
}
$processed = true;
if ( ! apply_filters( 'yith_woocompare_should_show_preview_bar', true ) ) {
return;
}
YITH_WooCompare_Table::instance()->output_preview_bar();
}
}
}
/home/site110138/public_html/wp-includes/class-wp-hook.php
$this->iterations[ $nesting_level ] = $this->priorities;
$num_args = count( $args );
do {
$this->current_priority[ $nesting_level ] = current( $this->iterations[ $nesting_level ] );
$priority = $this->current_priority[ $nesting_level ];
foreach ( $this->callbacks[ $priority ] as $the_ ) {
if ( ! $this->doing_action ) {
$args[0] = $value;
}
// Avoid the array_slice() if possible.
if ( 0 === $the_['accepted_args'] ) {
$value = call_user_func( $the_['function'] );
} elseif ( $the_['accepted_args'] >= $num_args ) {
$value = call_user_func_array( $the_['function'], $args );
} else {
$value = call_user_func_array( $the_['function'], array_slice( $args, 0, $the_['accepted_args'] ) );
}
}
} while ( false !== next( $this->iterations[ $nesting_level ] ) );
unset( $this->iterations[ $nesting_level ] );
unset( $this->current_priority[ $nesting_level ] );
--$this->nesting_level;
return $value;
}
/**
* Calls the callback functions that have been added to an action hook.
*
* @since 4.7.0
*
* @param array $args Parameters to pass to the callback functions.
Arguments
/home/site110138/public_html/wp-includes/class-wp-hook.php
} while ( false !== next( $this->iterations[ $nesting_level ] ) );
unset( $this->iterations[ $nesting_level ] );
unset( $this->current_priority[ $nesting_level ] );
--$this->nesting_level;
return $value;
}
/**
* Calls the callback functions that have been added to an action hook.
*
* @since 4.7.0
*
* @param array $args Parameters to pass to the callback functions.
*/
public function do_action( $args ) {
$this->doing_action = true;
$this->apply_filters( '', $args );
// If there are recursive calls to the current action, we haven't finished it until we get to the last one.
if ( ! $this->nesting_level ) {
$this->doing_action = false;
}
}
/**
* Processes the functions hooked into the 'all' hook.
*
* @since 4.7.0
*
* @param array $args Arguments to pass to the hook callbacks. Passed by reference.
*/
public function do_all_hook( &$args ) {
$nesting_level = $this->nesting_level++;
$this->iterations[ $nesting_level ] = $this->priorities;
do {
$priority = current( $this->iterations[ $nesting_level ] );
Arguments
/home/site110138/public_html/wp-includes/plugin.php
if ( ! isset( $wp_filter[ $hook_name ] ) ) {
if ( isset( $wp_filter['all'] ) ) {
array_pop( $wp_current_filter );
}
return;
}
if ( ! isset( $wp_filter['all'] ) ) {
$wp_current_filter[] = $hook_name;
}
if ( empty( $arg ) ) {
$arg[] = '';
} elseif ( is_array( $arg[0] ) && 1 === count( $arg[0] ) && isset( $arg[0][0] ) && is_object( $arg[0][0] ) ) {
// Backward compatibility for PHP4-style passing of `array( &$this )` as action `$arg`.
$arg[0] = $arg[0][0];
}
$wp_filter[ $hook_name ]->do_action( $arg );
array_pop( $wp_current_filter );
}
/**
* Calls the callback functions that have been added to an action hook, specifying arguments in an array.
*
* @since 2.1.0
*
* @see do_action() This function is identical, but the arguments passed to the
* functions hooked to `$hook_name` are supplied using an array.
*
* @global WP_Hook[] $wp_filter Stores all of the filters and actions.
* @global int[] $wp_actions Stores the number of times each action was triggered.
* @global string[] $wp_current_filter Stores the list of current filters with the current one last.
*
* @param string $hook_name The name of the action to be executed.
* @param array $args The arguments supplied to the functions hooked to `$hook_name`.
*/
function do_action_ref_array( $hook_name, $args ) {
Arguments
/home/site110138/public_html/wp-includes/general-template.php
*
* @since 1.5.0
*/
do_action( 'wp_head' );
}
/**
* Fires the wp_footer action.
*
* See {@see 'wp_footer'}.
*
* @since 1.5.1
*/
function wp_footer() {
/**
* Prints scripts or data before the closing body tag on the front end.
*
* @since 1.5.1
*/
do_action( 'wp_footer' );
}
/**
* Fires the wp_body_open action.
*
* See {@see 'wp_body_open'}.
*
* @since 5.2.0
*/
function wp_body_open() {
/**
* Triggered after the opening body tag.
*
* @since 5.2.0
*/
do_action( 'wp_body_open' );
}
/**
* Displays the links to the general feeds.
Arguments
/home/site110138/public_html/wp-content/themes/xstore/footer.php
*/
do_action( 'etheme_footer' );
?>
</div>
</div> <!-- template-content -->
<?php do_action('after_page_wrapper'); ?>
</div> <!-- template-container -->
<?php endif; ?>
<?php
/* Always have wp_footer() just before the closing </body>
* tag of your theme, or you will break many plugins, which
* generally use this hook to reference JavaScript files.
*/
wp_footer();
?>
</body>
</html>
/home/site110138/public_html/wp-includes/template.php
extract( $wp_query->query_vars, EXTR_SKIP );
}
if ( isset( $s ) ) {
$s = esc_attr( $s );
}
/**
* Fires before a template file is loaded.
*
* @since 6.1.0
*
* @param string $_template_file The full path to the template file.
* @param bool $load_once Whether to require_once or require.
* @param array $args Additional arguments passed to the template.
*/
do_action( 'wp_before_load_template', $_template_file, $load_once, $args );
if ( $load_once ) {
require_once $_template_file;
} else {
require $_template_file;
}
/**
* Fires after a template file is loaded.
*
* @since 6.1.0
*
* @param string $_template_file The full path to the template file.
* @param bool $load_once Whether to require_once or require.
* @param array $args Additional arguments passed to the template.
*/
do_action( 'wp_after_load_template', $_template_file, $load_once, $args );
}
/**
* Checks whether the template should be output buffered for enhancement.
*
* By default, an output buffer is only started if a {@see 'wp_template_enhancement_output_buffer'} filter has been
Arguments
"/home/site110138/public_html/wp-content/themes/xstore/footer.php"
/home/site110138/public_html/wp-includes/template.php
$located = '';
foreach ( (array) $template_names as $template_name ) {
if ( ! $template_name ) {
continue;
}
if ( file_exists( $wp_stylesheet_path . '/' . $template_name ) ) {
$located = $wp_stylesheet_path . '/' . $template_name;
break;
} elseif ( $is_child_theme && file_exists( $wp_template_path . '/' . $template_name ) ) {
$located = $wp_template_path . '/' . $template_name;
break;
} elseif ( file_exists( ABSPATH . WPINC . '/theme-compat/' . $template_name ) ) {
$located = ABSPATH . WPINC . '/theme-compat/' . $template_name;
break;
}
}
if ( $load && '' !== $located ) {
load_template( $located, $load_once, $args );
}
return $located;
}
/**
* Requires the template file with WordPress environment.
*
* The globals are set up for the template file to ensure that the WordPress
* environment is available from within the function. The query variables are
* also available.
*
* @since 1.5.0
* @since 5.5.0 The `$args` parameter was added.
*
* @global array $posts
* @global WP_Post $post Global post object.
* @global bool $wp_did_header
* @global WP_Query $wp_query WordPress Query object.
* @global WP_Rewrite $wp_rewrite WordPress rewrite component.
Arguments
"/home/site110138/public_html/wp-content/themes/xstore/footer.php"
true
[]
/home/site110138/public_html/wp-includes/general-template.php
* Fires before the footer template file is loaded.
*
* @since 2.1.0
* @since 2.8.0 The `$name` parameter was added.
* @since 5.5.0 The `$args` parameter was added.
*
* @param string|null $name Name of the specific footer file to use. Null for the default footer.
* @param array $args Additional arguments passed to the footer template.
*/
do_action( 'get_footer', $name, $args );
$templates = array();
$name = (string) $name;
if ( '' !== $name ) {
$templates[] = "footer-{$name}.php";
}
$templates[] = 'footer.php';
if ( ! locate_template( $templates, true, true, $args ) ) {
return false;
}
}
/**
* Loads sidebar template.
*
* Includes the sidebar template for a theme or if a name is specified then a
* specialized sidebar will be included.
*
* For the parameter, if the file is called "sidebar-special.php" then specify
* "special".
*
* @since 1.5.0
* @since 5.5.0 A return value was added.
* @since 5.5.0 The `$args` parameter was added.
*
* @param string|null $name The name of the specialized sidebar. Default null.
* @param array $args Optional. Additional arguments passed to the sidebar template.
* Default empty array.
Arguments
array:2 [
0 => "footer-shop.php"
1 => "footer.php"
]
true
true
[]
/home/site110138/public_html/wp-content/themes/xstore/woocommerce/archive-product.php
etheme_after_products_widgets();
if ( $product_bage_banner_pos == 2 ) {
do_action( 'woocommerce_shop_loop_header' );
}
do_action( 'woocommerce_after_main_content' );
?>
</div>
<?php if ( ( $cat_sidebar != 'without') || woocommerce_products_will_display() ) { ?>
<?php do_action( 'woocommerce_sidebar' ); ?>
<?php } ?>
</div>
</div>
</div>
<?php get_footer( 'shop' ); ?>
Arguments
/home/site110138/public_html/wp-content/plugins/woocommerce/includes/wc-core-functions.php
'template_path' => $template_path,
'located' => $template,
'args' => $args,
);
if ( ! empty( $args ) && is_array( $args ) ) {
if ( isset( $args['action_args'] ) ) {
wc_doing_it_wrong(
__FUNCTION__,
__( 'action_args should not be overwritten when calling wc_get_template.', 'woocommerce' ),
'3.6.0'
);
unset( $args['action_args'] );
}
extract( $args ); // @codingStandardsIgnoreLine
}
do_action( 'woocommerce_before_template_part', $action_args['template_name'], $action_args['template_path'], $action_args['located'], $action_args['args'] );
include $action_args['located'];
do_action( 'woocommerce_after_template_part', $action_args['template_name'], $action_args['template_path'], $action_args['located'], $action_args['args'] );
}
/**
* Like wc_get_template, but returns the HTML instead of outputting.
*
* @see wc_get_template
* @since 2.5.0
* @param string $template_name Template name.
* @param array $args Arguments. (default: array).
* @param string $template_path Template path. (default: '').
* @param string $default_path Default path. (default: '').
*
* @return string
*/
function wc_get_template_html( $template_name, $args = array(), $template_path = '', $default_path = '' ) {
ob_start();
wc_get_template( $template_name, $args, $template_path, $default_path );
return ob_get_clean();
Arguments
"/home/site110138/public_html/wp-content/themes/xstore/woocommerce/archive-product.php"
/home/site110138/public_html/wp-content/plugins/woocommerce/templates/taxonomy-product-cat.php
* The Template for displaying products in a product category. Simply includes the archive template
*
* This template can be overridden by copying it to yourtheme/woocommerce/taxonomy-product-cat.php.
*
* HOWEVER, on occasion WooCommerce will need to update template files and you
* (the theme developer) will need to copy the new files to your theme to
* maintain compatibility. We try to do this as little as possible, but it does
* happen. When this occurs the version of the template file will be bumped and
* the readme will list any important changes.
*
* @see https://woocommerce.com/document/template-structure/
* @package WooCommerce\Templates
* @version 4.7.0
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
wc_get_template( 'archive-product.php' );
Arguments
/home/site110138/public_html/wp-includes/template-loader.php
*/
$template = apply_filters( 'template_include', $template );
$is_stringy = is_string( $template ) || ( is_object( $template ) && method_exists( $template, '__toString' ) );
$template = $is_stringy ? realpath( (string) $template ) : null;
if (
is_string( $template ) &&
( str_ends_with( $template, '.php' ) || str_ends_with( $template, '.html' ) ) &&
is_file( $template ) &&
is_readable( $template )
) {
/**
* Fires immediately before including the template.
*
* @since 6.9.0
*
* @param string $template The path of the template about to be included.
*/
do_action( 'wp_before_include_template', $template );
include $template;
} elseif ( current_user_can( 'switch_themes' ) ) {
$theme = wp_get_theme();
if ( $theme->errors() ) {
wp_die( $theme->errors() );
}
}
return;
}
Arguments
"/home/site110138/public_html/wp-content/plugins/woocommerce/templates/taxonomy-product-cat.php"
/home/site110138/public_html/wp-blog-header.php
<?php
/**
* Loads the WordPress environment and template.
*
* @package WordPress
*/
if ( ! isset( $wp_did_header ) ) {
$wp_did_header = true;
// Load the WordPress library.
require_once __DIR__ . '/wp-load.php';
// Set up the WordPress query.
wp();
// Load the theme template.
require_once ABSPATH . WPINC . '/template-loader.php';
}
Arguments
"/home/site110138/public_html/wp-includes/template-loader.php"
/home/site110138/public_html/index.php
<?php
/**
* Front to the WordPress application. This file doesn't do anything, but loads
* wp-blog-header.php which does and tells WordPress to load the theme.
*
* @package WordPress
*/
/**
* Tells WordPress to load the WordPress theme and output it.
*
* @var bool
*/
define( 'WP_USE_THEMES', true );
/** Loads the WordPress Environment and Template */
require __DIR__ . '/wp-blog-header.php';
Arguments
"/home/site110138/public_html/wp-blog-header.php"