WordPress.org

Make WordPress Core

Ticket #29718: 29718.2.diff

File 29718.2.diff, 1.7 KB (added by nofearinc, 5 years ago)

reverse conditionals

  • wp-includes/taxonomy.php

     
    10401040
    10411041                } elseif ( 'NOT IN' == $operator ) {
    10421042
    1043                         if ( empty( $terms ) ) {
    1044                                 continue;
    1045                         }
     1043                        if ( ! empty( $terms ) ) {
     1044                            $terms = implode( ',', $terms );
     1045   
     1046                            $where = "$this->primary_table.$this->primary_id_column NOT IN (
     1047                                    SELECT object_id
     1048                                    FROM $wpdb->term_relationships
     1049                                    WHERE term_taxonomy_id IN ($terms)
     1050                            )";
     1051                        }
    10461052
    1047                         $terms = implode( ',', $terms );
    1048 
    1049                         $where = "$this->primary_table.$this->primary_id_column NOT IN (
    1050                                 SELECT object_id
    1051                                 FROM $wpdb->term_relationships
    1052                                 WHERE term_taxonomy_id IN ($terms)
    1053                         )";
    1054 
    10551053                } elseif ( 'AND' == $operator ) {
     1054                        if ( ! empty( $terms ) ) {
     1055                            $num_terms = count( $terms );
     1056   
     1057                            $terms = implode( ',', $terms );
     1058   
     1059                            $where = "(
     1060                                    SELECT COUNT(1)
     1061                                    FROM $wpdb->term_relationships
     1062                                    WHERE term_taxonomy_id IN ($terms)
     1063                                    AND object_id = $this->primary_table.$this->primary_id_column
     1064                            ) = $num_terms";
     1065                        }
    10561066
    1057                         if ( empty( $terms ) ) {
    1058                                 continue;
    1059                         }
    1060 
    1061                         $num_terms = count( $terms );
    1062 
    1063                         $terms = implode( ',', $terms );
    1064 
    1065                         $where = "(
    1066                                 SELECT COUNT(1)
    1067                                 FROM $wpdb->term_relationships
    1068                                 WHERE term_taxonomy_id IN ($terms)
    1069                                 AND object_id = $this->primary_table.$this->primary_id_column
    1070                         ) = $num_terms";
    1071 
    10721067                } elseif ( 'NOT EXISTS' === $operator || 'EXISTS' === $operator ) {
    10731068
    10741069                        $where = $wpdb->prepare( "$operator (