1. PHP / Говнокод #18136

    +142

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    //Search from title,content,category,address,zipcode,city
        if ($s_for !== '' && $s_cat !== '' && $s_to !== '') {
            $query = "SELECT *
                FROM
                $wpdb->posts
                INNER JOIN $wpdb->term_relationships
                ON $wpdb->posts.ID = $wpdb->term_relationships.object_id
                LEFT JOIN $wpdb->postmeta 
                ON $wpdb->posts.ID = $wpdb->postmeta.post_id
                WHERE
                $wpdb->posts.post_status = '$cc_post_status'
                AND $wpdb->posts.post_type = '$cc_post_type'
                AND ($wpdb->posts.post_title LIKE '%$s_for%'
                OR $wpdb->posts.post_content LIKE '%$s_for%')
                AND (($wpdb->postmeta.meta_key = '$cc_meta_address' AND $wpdb->postmeta.meta_value LIKE '%$s_to%')
                OR ($wpdb->postmeta.meta_key = '$cc_meta_city' AND $wpdb->postmeta.meta_value = '$s_to')
                OR ($wpdb->postmeta.meta_key = '$cc_meta_zipcode' AND $wpdb->postmeta.meta_value = '$s_to'))
                AND $wpdb->term_relationships.term_taxonomy_id = {$s_cat}
                GROUP BY ID {$limit}";
            //Search from title,content
        } elseif ($s_for !== '' && $s_cat == '' && $s_to == '') {
            $query = "SELECT *
                FROM
                $wpdb->posts
                INNER JOIN $wpdb->term_relationships
                ON $wpdb->posts.ID = $wpdb->term_relationships.object_id
                INNER JOIN $wpdb->terms
                ON $wpdb->term_relationships.term_taxonomy_id = $wpdb->terms.term_id
                WHERE
                $wpdb->posts.post_status = '$cc_post_status' AND post_type = '$cc_post_type' 
                AND ($wpdb->terms.name = '$s_for' or post_title like '%$s_for%' or post_content like '%$s_for%') 
                GROUP BY ID {$limit}";
            //Search from title,content and category
        } elseif ($s_for !== '' && $s_cat !== '' && $s_to == '') {
            $query = "SELECT $wpdb->posts.*
                FROM
                $wpdb->posts
                INNER JOIN $wpdb->term_relationships
                ON $wpdb->posts.ID = $wpdb->term_relationships.object_id
                WHERE
                $wpdb->posts.post_type = '$cc_post_type'
                AND 
                $wpdb->posts.post_status = '$cc_post_status'
                AND
                ($wpdb->posts.post_title LIKE '%$s_for%' OR $wpdb->posts.post_content LIKE '%$s_for%')
                AND
                ($wpdb->term_relationships.term_taxonomy_id = {$s_cat})
                GROUP BY ID {$limit}";
            //Search from category,zip,address and city
        } elseif ($s_for == '' && $s_cat !== '' && $s_to !== '') {
            $query = "SELECT $wpdb->posts.*
                FROM
                $wpdb->posts
                INNER JOIN $wpdb->postmeta
                ON $wpdb->posts.ID = $wpdb->postmeta.post_id
                INNER JOIN $wpdb->term_relationships
                ON $wpdb->posts.ID = $wpdb->term_relationships.object_id
                WHERE
                $wpdb->posts.post_type = '$cc_post_type'
                AND $wpdb->posts.post_status = '$cc_post_status'
                AND
                ($wpdb->term_relationships.term_taxonomy_id = {$s_cat})
                AND (($wpdb->postmeta.meta_key ='$cc_meta_address' AND $wpdb->postmeta.meta_value LIKE '%$s_to%')
                OR ($wpdb->postmeta.meta_key ='$cc_meta_city' AND $wpdb->postmeta.meta_value = '$s_to')
                OR ($wpdb->postmeta.meta_key ='$cc_meta_zipcode' AND $wpdb->postmeta.meta_value = '$s_to'))
                GROUP BY ID {$limit}";
            //Search from category
        } elseif ($s_for == '' && $s_cat !== '' && $s_to == '') {
            $query = "SELECT $wpdb->posts.*
                FROM
                $wpdb->posts
                INNER JOIN $wpdb->term_relationships
                ON $wpdb->posts.ID = $wpdb->term_relationships.object_id
                WHERE
                $wpdb->posts.post_type = '$cc_post_type'
                AND $wpdb->posts.post_status = '$cc_post_status'
                AND
                ($wpdb->term_relationships.term_taxonomy_id = {$s_cat})
                GROUP BY ID {$limit}";
            //Search from address,city and zipcode
        } elseif ($s_for == '' && $s_cat == '' && $s_to !== '') {
            $query = "SELECT $wpdb->posts.*
                FROM
                $wpdb->posts
                INNER JOIN $wpdb->postmeta
                ON $wpdb->posts.ID = $wpdb->postmeta.post_id
                WHERE
                $wpdb->posts.post_type = '$cc_post_type'
                AND $wpdb->posts.post_status = '$cc_post_status'                                  
                AND (($wpdb->postmeta.meta_key ='$cc_meta_address' AND $wpdb->postmeta.meta_value LIKE '%$s_to%')
                OR ($wpdb->postmeta.meta_key ='$cc_meta_city' AND $wpdb->postmeta.meta_value = '$s_to')
                OR ($wpdb->postmeta.meta_key ='$cc_meta_zipcode' AND $wpdb->postmeta.meta_value = '$s_to'))
                GROUP BY ID {$limit}";
            //Search from tags,title,content and zipcode,city,address
        } elseif ($s_for !== '' && $s_cat == '' && $s_to !== '') {
    
        // And so on .... until all possible combinations of arguments

    Classicraft wordpress theme ... luckily he had only 3 arguments :D

    Запостил: alex_123, 09 Мая 2015

    Комментарии (4) RSS

    Добавить комментарий