Code Duplication    Length = 96-108 lines in 2 locations

src/wp-includes/class-wp-query.php 2 locations

@@ 2521-2616 (lines=96) @@
2518
		 * Apply post-paging filters on where and join. Only plugins that
2519
		 * manipulate paging queries should use these hooks.
2520
		 */
2521
		if ( !$q['suppress_filters'] ) {
2522
			/**
2523
			 * Filters the WHERE clause of the query.
2524
			 *
2525
			 * Specifically for manipulating paging queries.
2526
			 *
2527
			 * @since 1.5.0
2528
			 *
2529
			 * @param string   $where The WHERE clause of the query.
2530
			 * @param WP_Query &$this The WP_Query instance (passed by reference).
2531
			 */
2532
			$where = apply_filters_ref_array( 'posts_where_paged', array( $where, &$this ) );
2533
2534
			/**
2535
			 * Filters the GROUP BY clause of the query.
2536
			 *
2537
			 * @since 2.0.0
2538
			 *
2539
			 * @param string   $groupby The GROUP BY clause of the query.
2540
			 * @param WP_Query &$this   The WP_Query instance (passed by reference).
2541
			 */
2542
			$groupby = apply_filters_ref_array( 'posts_groupby', array( $groupby, &$this ) );
2543
2544
			/**
2545
			 * Filters the JOIN clause of the query.
2546
			 *
2547
			 * Specifically for manipulating paging queries.
2548
			 *
2549
			 * @since 1.5.0
2550
			 *
2551
			 * @param string   $join  The JOIN clause of the query.
2552
			 * @param WP_Query &$this The WP_Query instance (passed by reference).
2553
			 */
2554
			$join = apply_filters_ref_array( 'posts_join_paged', array( $join, &$this ) );
2555
2556
			/**
2557
			 * Filters the ORDER BY clause of the query.
2558
			 *
2559
			 * @since 1.5.1
2560
			 *
2561
			 * @param string   $orderby The ORDER BY clause of the query.
2562
			 * @param WP_Query &$this   The WP_Query instance (passed by reference).
2563
			 */
2564
			$orderby = apply_filters_ref_array( 'posts_orderby', array( $orderby, &$this ) );
2565
2566
			/**
2567
			 * Filters the DISTINCT clause of the query.
2568
			 *
2569
			 * @since 2.1.0
2570
			 *
2571
			 * @param string   $distinct The DISTINCT clause of the query.
2572
			 * @param WP_Query &$this    The WP_Query instance (passed by reference).
2573
			 */
2574
			$distinct = apply_filters_ref_array( 'posts_distinct', array( $distinct, &$this ) );
2575
2576
			/**
2577
			 * Filters the LIMIT clause of the query.
2578
			 *
2579
			 * @since 2.1.0
2580
			 *
2581
			 * @param string   $limits The LIMIT clause of the query.
2582
			 * @param WP_Query &$this  The WP_Query instance (passed by reference).
2583
			 */
2584
			$limits = apply_filters_ref_array( 'post_limits', array( $limits, &$this ) );
2585
2586
			/**
2587
			 * Filters the SELECT clause of the query.
2588
			 *
2589
			 * @since 2.1.0
2590
			 *
2591
			 * @param string   $fields The SELECT clause of the query.
2592
			 * @param WP_Query &$this  The WP_Query instance (passed by reference).
2593
			 */
2594
			$fields = apply_filters_ref_array( 'posts_fields', array( $fields, &$this ) );
2595
2596
			/**
2597
			 * Filters all query clauses at once, for convenience.
2598
			 *
2599
			 * Covers the WHERE, GROUP BY, JOIN, ORDER BY, DISTINCT,
2600
			 * fields (SELECT), and LIMITS clauses.
2601
			 *
2602
			 * @since 3.1.0
2603
			 *
2604
			 * @param array    $clauses The list of clauses for the query.
2605
			 * @param WP_Query &$this   The WP_Query instance (passed by reference).
2606
			 */
2607
			$clauses = (array) apply_filters_ref_array( 'posts_clauses', array( compact( $pieces ), &$this ) );
2608
2609
			$where = isset( $clauses[ 'where' ] ) ? $clauses[ 'where' ] : '';
2610
			$groupby = isset( $clauses[ 'groupby' ] ) ? $clauses[ 'groupby' ] : '';
2611
			$join = isset( $clauses[ 'join' ] ) ? $clauses[ 'join' ] : '';
2612
			$orderby = isset( $clauses[ 'orderby' ] ) ? $clauses[ 'orderby' ] : '';
2613
			$distinct = isset( $clauses[ 'distinct' ] ) ? $clauses[ 'distinct' ] : '';
2614
			$fields = isset( $clauses[ 'fields' ] ) ? $clauses[ 'fields' ] : '';
2615
			$limits = isset( $clauses[ 'limits' ] ) ? $clauses[ 'limits' ] : '';
2616
		}
2617
2618
		/**
2619
		 * Fires to announce the query's current selection parameters.
@@ 2633-2740 (lines=108) @@
2630
		 * Filters again for the benefit of caching plugins.
2631
		 * Regular plugins should use the hooks above.
2632
		 */
2633
		if ( !$q['suppress_filters'] ) {
2634
			/**
2635
			 * Filters the WHERE clause of the query.
2636
			 *
2637
			 * For use by caching plugins.
2638
			 *
2639
			 * @since 2.5.0
2640
			 *
2641
			 * @param string   $where The WHERE clause of the query.
2642
			 * @param WP_Query &$this The WP_Query instance (passed by reference).
2643
			 */
2644
			$where = apply_filters_ref_array( 'posts_where_request', array( $where, &$this ) );
2645
2646
			/**
2647
			 * Filters the GROUP BY clause of the query.
2648
			 *
2649
			 * For use by caching plugins.
2650
			 *
2651
			 * @since 2.5.0
2652
			 *
2653
			 * @param string   $groupby The GROUP BY clause of the query.
2654
			 * @param WP_Query &$this   The WP_Query instance (passed by reference).
2655
			 */
2656
			$groupby = apply_filters_ref_array( 'posts_groupby_request', array( $groupby, &$this ) );
2657
2658
			/**
2659
			 * Filters the JOIN clause of the query.
2660
			 *
2661
			 * For use by caching plugins.
2662
			 *
2663
			 * @since 2.5.0
2664
			 *
2665
			 * @param string   $join  The JOIN clause of the query.
2666
			 * @param WP_Query &$this The WP_Query instance (passed by reference).
2667
			 */
2668
			$join = apply_filters_ref_array( 'posts_join_request', array( $join, &$this ) );
2669
2670
			/**
2671
			 * Filters the ORDER BY clause of the query.
2672
			 *
2673
			 * For use by caching plugins.
2674
			 *
2675
			 * @since 2.5.0
2676
			 *
2677
			 * @param string   $orderby The ORDER BY clause of the query.
2678
			 * @param WP_Query &$this   The WP_Query instance (passed by reference).
2679
			 */
2680
			$orderby = apply_filters_ref_array( 'posts_orderby_request', array( $orderby, &$this ) );
2681
2682
			/**
2683
			 * Filters the DISTINCT clause of the query.
2684
			 *
2685
			 * For use by caching plugins.
2686
			 *
2687
			 * @since 2.5.0
2688
			 *
2689
			 * @param string   $distinct The DISTINCT clause of the query.
2690
			 * @param WP_Query &$this    The WP_Query instance (passed by reference).
2691
			 */
2692
			$distinct = apply_filters_ref_array( 'posts_distinct_request', array( $distinct, &$this ) );
2693
2694
			/**
2695
			 * Filters the SELECT clause of the query.
2696
			 *
2697
			 * For use by caching plugins.
2698
			 *
2699
			 * @since 2.5.0
2700
			 *
2701
			 * @param string   $fields The SELECT clause of the query.
2702
			 * @param WP_Query &$this  The WP_Query instance (passed by reference).
2703
			 */
2704
			$fields = apply_filters_ref_array( 'posts_fields_request', array( $fields, &$this ) );
2705
2706
			/**
2707
			 * Filters the LIMIT clause of the query.
2708
			 *
2709
			 * For use by caching plugins.
2710
			 *
2711
			 * @since 2.5.0
2712
			 *
2713
			 * @param string   $limits The LIMIT clause of the query.
2714
			 * @param WP_Query &$this  The WP_Query instance (passed by reference).
2715
			 */
2716
			$limits = apply_filters_ref_array( 'post_limits_request', array( $limits, &$this ) );
2717
2718
			/**
2719
			 * Filters all query clauses at once, for convenience.
2720
			 *
2721
			 * For use by caching plugins.
2722
			 *
2723
			 * Covers the WHERE, GROUP BY, JOIN, ORDER BY, DISTINCT,
2724
			 * fields (SELECT), and LIMITS clauses.
2725
			 *
2726
			 * @since 3.1.0
2727
			 *
2728
			 * @param array    $pieces The pieces of the query.
2729
			 * @param WP_Query &$this  The WP_Query instance (passed by reference).
2730
			 */
2731
			$clauses = (array) apply_filters_ref_array( 'posts_clauses_request', array( compact( $pieces ), &$this ) );
2732
2733
			$where = isset( $clauses[ 'where' ] ) ? $clauses[ 'where' ] : '';
2734
			$groupby = isset( $clauses[ 'groupby' ] ) ? $clauses[ 'groupby' ] : '';
2735
			$join = isset( $clauses[ 'join' ] ) ? $clauses[ 'join' ] : '';
2736
			$orderby = isset( $clauses[ 'orderby' ] ) ? $clauses[ 'orderby' ] : '';
2737
			$distinct = isset( $clauses[ 'distinct' ] ) ? $clauses[ 'distinct' ] : '';
2738
			$fields = isset( $clauses[ 'fields' ] ) ? $clauses[ 'fields' ] : '';
2739
			$limits = isset( $clauses[ 'limits' ] ) ? $clauses[ 'limits' ] : '';
2740
		}
2741
2742
		if ( ! empty($groupby) )
2743
			$groupby = 'GROUP BY ' . $groupby;