odered convos by due date and hide once finished. create automatic archive

This commit is contained in:
jorge-vitrubio 2024-03-13 19:41:07 +01:00
parent 219d5b60b0
commit d205cf49d5
3 changed files with 124 additions and 10 deletions

View File

@ -0,0 +1,82 @@
<?php
/**
* The template for displaying the "convos" calls with search capabilities
*
* Template Name: Arxiu de convos
*
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/
* @link https://developer.wordpress.org/themes/template-files-section/page-template-files/
*
* @package Xarxaprod_theme
* @since 1.0
*/
get_header();
?>
<!-- page-templates convos-search-php -->
<main id="primary" class="site-main">
<?php if ( have_posts() ) : ?>
<header class="page-header">
</header><!-- .page-header -->
<?php
while ( have_posts() ) :
the_post();
get_template_part( 'template-parts/content', 'page' );
endwhile;
the_posts_navigation();
else :
get_template_part( 'template-parts/content', 'none' );
endif;
?>
<section id="filteredcalls" class="xarxaprod-filtered-content xarxaprod-filtered-content xarxaprod-filtered-calls xarxaprod-convos-filtrats">
<aside id="callsfilter" class="xarxaprod-filter-calls xarxaprod-fitre-convos">
<?php include_once( ABSPATH . 'wp-admin/includes/plugin.php' ); if ( is_plugin_active( 'xarxaprod-wp-plugin/xarxaprod-wp-plugin.php' ) ) { // if plugin active do?>
<?php xarxaprod_convos_filters_form(); // function defined in the plugin ?>
<?php } //end if is_plugin_active ?>
</aside>
<?php
// comparing dates
// https://wordpress.stackexchange.com/a/12305
$the_query_archive_convo = new WP_Query(
array(
'post_type' => 'xarxaprod-convo',
'order_by' => 'meta_value', //order by meta value
'meta_key' => 'xxp_convo_apply_end', // order by meta key convo apply end
'order' => 'ASC', //order ascendent
'posts_per_page' => '-1', //show all
'meta_query' => array(
array( //filter results show only older than today
'key' => 'xxp_convo_apply_end',
'value' => date("Y-m-d"), // consider using date_i18n() https://developer.wordpress.org/reference/functions/date_i18n/
'compare' => '<', //show events before today
'type' => 'DATE',
)
)
)
);
?>
<?php if ( $the_query_archive_convo->have_posts() ) : ?>
<content class="archive-posts archive-xarxaprod-convo <?php //xarxaprod_class_posttype(); ?>">
<?php while ( $the_query_archive_convo->have_posts() ) : $the_query_archive_convo->the_post(); ?>
<?php get_template_part( 'template-parts/section', 'eachconvo' ); ?>
<?php endwhile;//end of the loop ?>
<?php wp_reset_postdata(); ?>
</content>
<?php endif; //end query convo ?>
</section>
</main><!-- #main -->
<?php
get_footer();

View File

@ -49,8 +49,19 @@ get_header();
// https://barn2.com/blog/querying-posts-by-custom-field-acfi/
$the_query_convo = new WP_Query(
array(
'post_type' => 'xarxaprod-convo',
'posts_per_page' => '-1'
'post_type' => 'xarxaprod-convo',
'order_by' => 'meta_value', //order by meta value
'meta_key' => 'xxp_convo_apply_end', // order by meta key convo apply end
'order' => 'ASC', //order ascendent
'posts_per_page' => '-1', //show all
'meta_query' => array(
array( //filter results show only older than today
'key' => 'xxp_convo_apply_end',
'value' => date("Y-m-d"), // consider using date_i18n() https://developer.wordpress.org/reference/functions/date_i18n/
'compare' => '>=', //show events from today and later
'type' => 'DATE',
)
)
)
);
?>

View File

@ -19,7 +19,7 @@
?>
<header>
<?php //begin any query
// begin populate WP_Query with custom post type xarxaprod-associat
// begin populate WP_Query if is custom post type xarxaprod-associat
if ( get_post_type( ) == 'xarxaprod-associat' ){
$slug_espai_associat =get_post_field( 'post_name', get_post() ) ;
// https://developer.wordpress.org/reference/functions/get_posts/
@ -29,8 +29,17 @@
array(
'post_type' => 'xarxaprod-convo',
'posts_per_page' => '3',
'order_by' => 'meta_value', //order by meta value
'meta_key' => 'xxp_convo_apply_end', // order by meta key convo apply end
'order' => 'ASC', //order ascendent
'meta_query' => array(
array(
array( //filter results show today and later
'key' => 'xxp_convo_apply_end',
'value' => date("Y-m-d"), // consider using date_i18n() https://developer.wordpress.org/reference/functions/date_i18n/
'compare' => '>=', //show events today and later
'type' => 'DATE',
),
array( //filter convos with relation to espai associat
'key' => 'xxp_convo_espai_associat', // name of the custom field
'value' => '"' . get_the_ID() . '"', // in ACF select Return format "Post ID"
'compare'=> 'LIKE', // matches exaclty "123", not just 123. This prevents a match for "1234"
@ -43,14 +52,26 @@
</header>
<main class="xarxaprod-last-convos xarxaprod-ultimes-convocatories">
<?php } //end populate WP_Query custom post type xarxaprod-associat
else { // begin populate WP_Query with others
else { // begin populate WP_Query if others
// https://developer.wordpress.org/reference/functions/get_posts/
// https://www.advancedcustomfields.com/resources/true-false/
$convos_query = new WP_Query(
array(
'post_type' => array( 'xarxaprod-convo' ),
'posts_per_page' => '3'
) );
$convos_query = new WP_Query(
array(
'post_type' => 'xarxaprod-convo',
'posts_per_page' => '3',
'order_by' => 'meta_value', //order by meta value
'meta_key' => 'xxp_convo_apply_end', // order by meta key convo apply end
'order' => 'ASC', //order ascendent
'meta_query' => array(
array( //filter results show today and later
'key' => 'xxp_convo_apply_end',
'value' => date("Y-m-d"), // consider using date_i18n() https://developer.wordpress.org/reference/functions/date_i18n/
'compare' => '>=', //show events today and later
'type' => 'DATE',
),
)
)
);
?>
<h2> <a href="<?php echo site_url() . '/convocatories' ;?>"><?php echo esc_html__('Últimes convocatòries', 'xarxaprod'); ?></a></h2>
</header>