Commit 781f20f5 authored by Simonas's avatar Simonas

in progress

parent d692be73
......@@ -724,10 +724,10 @@ wp_reset_query();
define('positionsPage', $positionsPage);
function getRecords($taxonomy, $searchQuery) {
function getRecords($taxonomy) {
global $wpdb;
global $query_string;
// debug($searchQuery);
// if ($searchQuery['city']):
// $city = get_term_by( 'name', preg_replace('/[\+]/', ' ', $searchQuery['city']), 'city' );
......@@ -756,9 +756,6 @@ function getRecords($taxonomy, $searchQuery) {
// $counter = $counter . ' AND city.term_id = ' . $city->term_id;
// endif;
// if ( $field && $field->term_id == $termID || $type && $type->term_id == $termID) :
// $active = true;
// endif;
// endif;
......@@ -767,20 +764,97 @@ function getRecords($taxonomy, $searchQuery) {
$prefix = $wpdb->prefix;
$today = date('Y-m-d');
$order = ($taxonomy == 'city') ? 'no DESC' : 'total DESC';
$additional = '';
$and = '';
wp_parse_str( $query_string, $searchQuery );
$pageTerms = getPageTerm(get_post_custom_keys());
if ($pageTerms):
// if ($taxonomy == 'city' && ($pageTerms->taxonomy == 'type' || $pageTerms->taxonomy == 'field')):
if ($pageTerms->taxonomy === 'city' && ($taxonomy == 'type' || $taxonomy == 'field') || $taxonomy == 'city' && ($pageTerms->taxonomy == 'type' || $pageTerms->taxonomy == 'field')):
$additional = "
LEFT JOIN `wp_term_relationships` AS `rel_term2` ON `rel_term2`.`object_id` = `t`.`ID`
INNER JOIN `wp_term_taxonomy` AS `rel_tt_term2` ON `rel_tt_term2`.`taxonomy` = '" . $pageTerms->taxonomy . "' AND `rel_tt_term2`.`term_taxonomy_id` = `rel_term2`.`term_taxonomy_id`
LEFT JOIN `wp_terms` AS `" . $pageTerms->taxonomy . "` ON `" . $pageTerms->taxonomy . "`.`term_id` = `rel_tt_term2`.`term_id`
";
$and = "
AND `" . $pageTerms->taxonomy . "`.`term_id` = " . $pageTerms->term_id
;
// LEFT JOIN `wp_term_relationships` AS `rel_term2` ON `rel_term2`.`object_id` = `t`.`ID`
// LEFT JOIN `wp_term_taxonomy` AS `rel_tt_term2` ON `rel_tt_term2`.`taxonomy` = 'city' AND `rel_tt_term2`.`term_taxonomy_id` = `rel_term2`.`term_taxonomy_id`
// LEFT JOIN `wp_terms` AS `city` ON `city`.`term_id` = `rel_tt_term2`.`term_id`
// WHERE ( ( `valid`.`meta_value` > "2019-05-29" AND `field`.`term_id` = 297 AND `city`.`term_id` = 285 ) AND ( `t`.`post_type` = "job" ) AND ( `polylang_languages`.`object_id` IS NOT NULL ) AND ( `t`.`post_status` IN ( "publish" ) ) )
// WHERE ( ( `valid`.`meta_value` > "2019-05-29" AND `field`.`term_id` = 297 ) AND ( `t`.`post_type` = "job" ) AND ( `polylang_languages`.`object_id` IS NOT NULL ) AND ( `t`.`post_status` IN ( "publish" ) ) )
endif;
// if ($taxonomy == 'city' && ($pageTerms->taxonomy == 'type' || $pageTerms->taxonomy == 'field')) {
// }
// if ($taxonomy == 'city' && ($pageTerms->taxonomy == 'type' || $pageTerms->taxonomy == 'field')) {
// if ($taxonomy == 'city' && ($pageTerms->taxonomy === 'type' || $pageTerms->taxonomy === 'field') || $taxonomy != 'city' && $pageTerms->taxonomy === 'city') {
// }
// } else if ($taxonomy != 'city' && $pageTerms->taxonomy === 'city') {
// && ($pageTerms->taxonomy === 'type' || $pageTerms->taxonomy === 'field' || $pageTerms->taxonomy === 'city')
// if ($pageTerms->taxonomy === 'type'):
// $additional = 'AND `type`.`term_id` = 297';
// elseif ($pageTerms->taxonomy === 'field'):
// $additional = 'AND `field`.`term_id` = 297';
// // $searchQuery['s'] = $pageTerms->name;
// elseif ($pageTerms->taxonomy === 'city'):
// $additional = 'AND `city`.`term_id` = 297';
// // $searchQuery['city'] = $pageTerms->name;
// endif;
endif;
$sql = "SELECT * FROM (SELECT term.name, count(*) as total, CAST(`termmeta`.`meta_value` as INT) as no, `termpage`.`meta_value` as pageID, `term`.`term_id` as termID, `pages`.`post_title` as title
FROM `{$prefix}posts` AS `t`
LEFT JOIN `{$prefix}postmeta` AS `valid` ON `valid`.`meta_key` = 'valid' AND `valid`.`post_id` = `t`.`ID`
LEFT JOIN `{$prefix}term_relationships` AS `rel_term` ON `rel_term`.`object_id` = `t`.`ID`
INNER JOIN `{$prefix}term_taxonomy` AS `rel_tt_term` ON `rel_tt_term`.`taxonomy` = '{$taxonomy}' AND `rel_tt_term`.`term_taxonomy_id` = `rel_term`.`term_taxonomy_id`
LEFT JOIN `{$prefix}terms` AS `term` ON `term`.`term_id` = `rel_tt_term`.`term_id`
LEFT JOIN `{$prefix}termmeta` AS `termmeta` ON termmeta.term_id = term.term_id AND termmeta.meta_key = 'order'
LEFT JOIN `{$prefix}termmeta` AS `termpage` ON termpage.term_id = term.term_id AND termpage.meta_key = 'page-id'
LEFT JOIN `{$prefix}posts` AS `pages` ON `pages`.`ID` = `termpage`.`meta_value`
{$additional}
LEFT JOIN `{$prefix}term_relationships` AS `polylang_languages` ON `polylang_languages`.`object_id` = `t`.`ID` AND `polylang_languages`.`term_taxonomy_id` = $langID
WHERE ( ( `valid`.`meta_value` >= '{$today}' ) AND ( `t`.`post_type` = 'job' ) AND ( `polylang_languages`.`object_id` IS NOT NULL ) AND ( `t`.`post_status` IN ( 'publish' ) ) )
WHERE ( ( `valid`.`meta_value` >= '{$today}' {$and} ) AND ( `t`.`post_type` = 'job' ) AND ( `polylang_languages`.`object_id` IS NOT NULL ) AND ( `t`.`post_status` IN ( 'publish' ) ) )
GROUP BY term.name) records
ORDER BY $order, name ASC";
// if ($taxonomy == 'field'):
// var_dump($sql);
// // delog($additional, '$additional');
// // delog($and, '$and');
// // delog($taxonomy, '$taxonomy');
// // // // delog('$searchQuery');
// // // // debug($searchQuery);
// // // // delog('$pageTerms');
// // // // debug($pageTerms);
// // // // delog('$Query');
// // // debug($wpdb->get_results($sql, ARRAY_A));
// endif;
return $wpdb->get_results($sql, ARRAY_A);
}
// WHERE ( ( `valid`.`meta_value` > "2019-05-29" AND `field`.`term_id` = 297 ) AND ( `t`.`post_type` = "job" ) AND ( `polylang_languages`.`object_id` IS NOT NULL ) AND ( `t`.`post_status` IN ( "publish" ) ) )
<?php
global $time_start;
$time_start = microtime(true);
// getRecords('city');
// getRecords('field');
// getRecords('type');
?><!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
......
......@@ -78,6 +78,13 @@ function getSiteTree2($taxonomy, $section, $searchQuery) {
$jobsCounter = pods( 'job', $custom );
// global $wpdb;
// if ($taxonomy == 'field') {
// delog($wpdb->last_query, 'last_query');
// debug($wpdb->last_result);
// }
if ( 0 < $jobsIn->total() ):
$page = get_term_meta( $termID, 'page-id', true);
$order = intval(get_term_meta( $termID, 'order', true));
......@@ -254,7 +261,7 @@ function getSiteTree($type, $section, $searchQuery, $term) {
<?php
$VSD = get_term_by( 'slug', 'type-8-lt', 'type' );
$VSD = get_term_by( 'slug', 'type-8-lt', 'type' );
if ($VSD && $VSD->name == $searchQuery['s']): ?>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment