kril-theme/shortcodes/gamelist.php

66 lines
2 KiB
PHP

<?php
/**
* Список игр.
*/
function gamelist($atts){
$nominations = array(
'main' => 'Основная номинация',
'translations' => 'Переводы',
'unranked' => 'Вне конкурса'
);
$a = shortcode_atts( array(
'category' => 'КРИЛ '.date('Y'),
), $atts );
$category = $a['category'];
$retval = '';
$args = array(
'numberposts' => -1,
'post_status' => 'publish',
'post_type' => 'game',
'meta_key' => 'nomination',
);
foreach ($nominations as $nomination => $name) {
$i = 1;
// $args['category'] = $category;
$args['meta_value'] = $nomination;
$the_query = new WP_Query($args);
if( $the_query->have_posts() ) {
while( $the_query->have_posts() ) {
$the_query->the_post();
$retval .= '<h2>'.$name.'</h2>';
$retval .= '<div class="games">';
if ($i > 1) {
$retval .= '<hr class="kril">';
}
$retval .= '<div class="kril-game">';
$retval .= '<div class="kril-game-header"><div class="kril-game-title"><div class="kril-game-name">'.
'<a name="game-'.$nomination.'-'.$i.'"></a>'.get_the_title().'</div><div class="kril-game-author">Авторы:'.
get_field('authors').'</div></div>'.
'<div class="kril-game-platform">Платформа: '.get_field('platform').'</div></div>'.
'<div class="kril-game-info">'.
'<p class="kril-game-pic">'.get_the_post_thumbnail().'</p>'.
'<div class="kril-game-descr">'.get_the_content().'</div>';
$online = get_field('link_online');
$offline = get_field('link_offline');
if (!empty($online) || !empty($offline)) {
$retval .= '<div class="kril-links">';
if (!empty($online)) {
$retval .= get_field('link_online');
}
if (!empty($offline)) {
$retval .= get_field('link_offline');
}
$retval .= '</div>';
}
$retval .= '</div>';
$i++;
}
$retval .= '</div>';
}
}
return $retval;
}