Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/clone/wp-inclu...
File: class-wp-tax-query.php
* @param array $clause Query clause.
[500] Fix | Delete
* @param array $parent_query Parent query of $clause.
[501] Fix | Delete
* @return string|false Table alias if found, otherwise false.
[502] Fix | Delete
*/
[503] Fix | Delete
protected function find_compatible_table_alias( $clause, $parent_query ) {
[504] Fix | Delete
$alias = false;
[505] Fix | Delete
[506] Fix | Delete
// Confidence check. Only IN queries use the JOIN syntax.
[507] Fix | Delete
if ( ! isset( $clause['operator'] ) || 'IN' !== $clause['operator'] ) {
[508] Fix | Delete
return $alias;
[509] Fix | Delete
}
[510] Fix | Delete
[511] Fix | Delete
// Since we're only checking IN queries, we're only concerned with OR relations.
[512] Fix | Delete
if ( ! isset( $parent_query['relation'] ) || 'OR' !== $parent_query['relation'] ) {
[513] Fix | Delete
return $alias;
[514] Fix | Delete
}
[515] Fix | Delete
[516] Fix | Delete
$compatible_operators = array( 'IN' );
[517] Fix | Delete
[518] Fix | Delete
foreach ( $parent_query as $sibling ) {
[519] Fix | Delete
if ( ! is_array( $sibling ) || ! $this->is_first_order_clause( $sibling ) ) {
[520] Fix | Delete
continue;
[521] Fix | Delete
}
[522] Fix | Delete
[523] Fix | Delete
if ( empty( $sibling['alias'] ) || empty( $sibling['operator'] ) ) {
[524] Fix | Delete
continue;
[525] Fix | Delete
}
[526] Fix | Delete
[527] Fix | Delete
// The sibling must both have compatible operator to share its alias.
[528] Fix | Delete
if ( in_array( strtoupper( $sibling['operator'] ), $compatible_operators, true ) ) {
[529] Fix | Delete
$alias = preg_replace( '/\W/', '_', $sibling['alias'] );
[530] Fix | Delete
break;
[531] Fix | Delete
}
[532] Fix | Delete
}
[533] Fix | Delete
[534] Fix | Delete
return $alias;
[535] Fix | Delete
}
[536] Fix | Delete
[537] Fix | Delete
/**
[538] Fix | Delete
* Validates a single query.
[539] Fix | Delete
*
[540] Fix | Delete
* @since 3.2.0
[541] Fix | Delete
*
[542] Fix | Delete
* @param array $query The single query. Passed by reference.
[543] Fix | Delete
*/
[544] Fix | Delete
private function clean_query( &$query ) {
[545] Fix | Delete
if ( empty( $query['taxonomy'] ) ) {
[546] Fix | Delete
if ( 'term_taxonomy_id' !== $query['field'] ) {
[547] Fix | Delete
$query = new WP_Error( 'invalid_taxonomy', __( 'Invalid taxonomy.' ) );
[548] Fix | Delete
return;
[549] Fix | Delete
}
[550] Fix | Delete
[551] Fix | Delete
// So long as there are shared terms, 'include_children' requires that a taxonomy is set.
[552] Fix | Delete
$query['include_children'] = false;
[553] Fix | Delete
} elseif ( ! taxonomy_exists( $query['taxonomy'] ) ) {
[554] Fix | Delete
$query = new WP_Error( 'invalid_taxonomy', __( 'Invalid taxonomy.' ) );
[555] Fix | Delete
return;
[556] Fix | Delete
}
[557] Fix | Delete
[558] Fix | Delete
if ( 'slug' === $query['field'] || 'name' === $query['field'] ) {
[559] Fix | Delete
$query['terms'] = array_unique( (array) $query['terms'] );
[560] Fix | Delete
} else {
[561] Fix | Delete
$query['terms'] = wp_parse_id_list( $query['terms'] );
[562] Fix | Delete
}
[563] Fix | Delete
[564] Fix | Delete
if ( is_taxonomy_hierarchical( $query['taxonomy'] ) && $query['include_children'] ) {
[565] Fix | Delete
$this->transform_query( $query, 'term_id' );
[566] Fix | Delete
[567] Fix | Delete
if ( is_wp_error( $query ) ) {
[568] Fix | Delete
return;
[569] Fix | Delete
}
[570] Fix | Delete
[571] Fix | Delete
$children = array();
[572] Fix | Delete
foreach ( $query['terms'] as $term ) {
[573] Fix | Delete
$children = array_merge( $children, get_term_children( $term, $query['taxonomy'] ) );
[574] Fix | Delete
$children[] = $term;
[575] Fix | Delete
}
[576] Fix | Delete
$query['terms'] = $children;
[577] Fix | Delete
}
[578] Fix | Delete
[579] Fix | Delete
$this->transform_query( $query, 'term_taxonomy_id' );
[580] Fix | Delete
}
[581] Fix | Delete
[582] Fix | Delete
/**
[583] Fix | Delete
* Transforms a single query, from one field to another.
[584] Fix | Delete
*
[585] Fix | Delete
* Operates on the `$query` object by reference. In the case of error,
[586] Fix | Delete
* `$query` is converted to a WP_Error object.
[587] Fix | Delete
*
[588] Fix | Delete
* @since 3.2.0
[589] Fix | Delete
*
[590] Fix | Delete
* @param array $query The single query. Passed by reference.
[591] Fix | Delete
* @param string $resulting_field The resulting field. Accepts 'slug', 'name', 'term_taxonomy_id',
[592] Fix | Delete
* or 'term_id'. Default 'term_id'.
[593] Fix | Delete
*/
[594] Fix | Delete
public function transform_query( &$query, $resulting_field ) {
[595] Fix | Delete
if ( empty( $query['terms'] ) ) {
[596] Fix | Delete
return;
[597] Fix | Delete
}
[598] Fix | Delete
[599] Fix | Delete
if ( $query['field'] === $resulting_field ) {
[600] Fix | Delete
return;
[601] Fix | Delete
}
[602] Fix | Delete
[603] Fix | Delete
$resulting_field = sanitize_key( $resulting_field );
[604] Fix | Delete
[605] Fix | Delete
// Empty 'terms' always results in a null transformation.
[606] Fix | Delete
$terms = array_filter( $query['terms'] );
[607] Fix | Delete
if ( empty( $terms ) ) {
[608] Fix | Delete
$query['terms'] = array();
[609] Fix | Delete
$query['field'] = $resulting_field;
[610] Fix | Delete
return;
[611] Fix | Delete
}
[612] Fix | Delete
[613] Fix | Delete
$args = array(
[614] Fix | Delete
'get' => 'all',
[615] Fix | Delete
'number' => 0,
[616] Fix | Delete
'taxonomy' => $query['taxonomy'],
[617] Fix | Delete
'update_term_meta_cache' => false,
[618] Fix | Delete
'orderby' => 'none',
[619] Fix | Delete
);
[620] Fix | Delete
[621] Fix | Delete
// Term query parameter name depends on the 'field' being searched on.
[622] Fix | Delete
switch ( $query['field'] ) {
[623] Fix | Delete
case 'slug':
[624] Fix | Delete
$args['slug'] = $terms;
[625] Fix | Delete
break;
[626] Fix | Delete
case 'name':
[627] Fix | Delete
$args['name'] = $terms;
[628] Fix | Delete
break;
[629] Fix | Delete
case 'term_taxonomy_id':
[630] Fix | Delete
$args['term_taxonomy_id'] = $terms;
[631] Fix | Delete
break;
[632] Fix | Delete
default:
[633] Fix | Delete
$args['include'] = wp_parse_id_list( $terms );
[634] Fix | Delete
break;
[635] Fix | Delete
}
[636] Fix | Delete
[637] Fix | Delete
if ( ! is_taxonomy_hierarchical( $query['taxonomy'] ) ) {
[638] Fix | Delete
$args['number'] = count( $terms );
[639] Fix | Delete
}
[640] Fix | Delete
[641] Fix | Delete
$term_query = new WP_Term_Query();
[642] Fix | Delete
$term_list = $term_query->query( $args );
[643] Fix | Delete
[644] Fix | Delete
if ( is_wp_error( $term_list ) ) {
[645] Fix | Delete
$query = $term_list;
[646] Fix | Delete
return;
[647] Fix | Delete
}
[648] Fix | Delete
[649] Fix | Delete
if ( 'AND' === $query['operator'] && count( $term_list ) < count( $query['terms'] ) ) {
[650] Fix | Delete
$query = new WP_Error( 'inexistent_terms', __( 'Inexistent terms.' ) );
[651] Fix | Delete
return;
[652] Fix | Delete
}
[653] Fix | Delete
[654] Fix | Delete
$query['terms'] = wp_list_pluck( $term_list, $resulting_field );
[655] Fix | Delete
$query['field'] = $resulting_field;
[656] Fix | Delete
}
[657] Fix | Delete
}
[658] Fix | Delete
[659] Fix | Delete
12
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function