Archived topic
Custom Post Type
21 replies · Started by Patrick on August 19, 2019
Hehe yes thats my ticket, I've asked they this morning 😆
I give them a try this evening 👍
Hi Tom,
we getting closer, but there is one problem with featured images and pagination. The last 3 adverts have featured images:
If I use the following code as archive-adverts.php it looks good, the pagination works, but the featured Images are not shown.
<?php
/**
* The template for displaying Archive pages.
*
* @package GeneratePress
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
get_header(); ?>
<div id="primary" <?php generate_do_element_classes( 'content' ); ?>>
<main id="main" <?php generate_do_element_classes( 'main' ); ?>>
<?php
/**
* generate_before_main_content hook.
*
* @since 0.1
*/
do_action( 'generate_before_main_content' );
if ( have_posts() ) :
/**
* generate_archive_title hook.
*
* @since 0.1
*
* @hooked generate_archive_title - 10
*/
do_action( 'generate_archive_title' );
while ( have_posts() ) : the_post();
/*
* Include the Post-Format-specific template for the content.
* If you want to override this in a child theme, then include a file
* called content-___.php (where ___ is the Post Format name) and that will be used instead.
*/
get_template_part( 'content', get_post_format() );
endwhile;
/**
* generate_after_loop hook.
*
* @since 2.3
*/
do_action( 'generate_after_loop' );
generate_content_nav( 'nav-below' );
else :
get_template_part( 'no-results', 'archive' );
endif;
/**
* generate_after_main_content hook.
*
* @since 0.1
*/
do_action( 'generate_after_main_content' );
?>
</main><!-- #main -->
</div><!-- #primary -->
<?php
/**
* generate_after_primary_content_area hook.
*
* @since 2.0
*/
do_action( 'generate_after_primary_content_area' );
generate_construct_sidebars();
get_footer();
If I use the following code for the archive-advert.php, the columns and masonry not working correct, but the featured images are shown.
<?php
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
get_header(); ?>
<div id="primary" <?php generate_do_element_classes( 'content' ); ?>>
<main id="main" <?php generate_do_element_classes( 'main' ); ?>>
<?php
/**
* generate_before_main_content hook.
*
* @since 0.1
*/
do_action( 'generate_before_main_content' );
$args = array('post_type' => 'advert');
$myQuery = new WP_Query($args);
if ( $myQuery->have_posts() ) :
while ( $myQuery->have_posts() ) : $myQuery->the_post();
/* Include the Post-Format-specific template for the content.
* If you want to override this in a child theme, then include a file
* called content-___.php (where ___ is the Post Format name) and that will be used instead.
*/
get_template_part( 'content', 'advert' );
endwhile;
/**
* generate_after_loop hook.
*
* @since 2.3
*/
do_action( 'generate_after_loop' );
generate_content_nav( 'nav-below' );
else :
get_template_part( 'no-results', 'index' );
endif;
/**
* generate_after_main_content hook.
*
* @since 0.1
*/
do_action( 'generate_after_main_content' );
?>
</main><!-- #main -->
</div><!-- #primary -->
<?php
/**
* generate_after_primary_content_area hook.
*
* @since 2.0
*/
do_action( 'generate_after_primary_content_area' );
generate_construct_sidebars();
get_footer();
=> Like to have the first one WITH featured images, than I'm happy
Admin credentials which i send you yesterday already working :)
Can we try replacing the get_template_part() again?:
get_template_part( 'content', 'advert' );
The necessary hooks to display the featured images should be in there.
Let me know :)
sure, i've changed it again, but there are also no featured images.
They only visible if I use the custom loop. WPAdverts uses featured images something strange.
you can everytime change what you want on the site i send you the credentials :)
Let's try this:
add_filter( 'generate_featured_image_output', function( $output ) {
if ( is_post_type_archive( 'advert' ) && function_exists( 'adverts_get_main_image' ) ) {
$output = sprintf( // WPCS: XSS ok.
'<div class="post-image">
<a href="%1$s">
<img src="%2$s" alt="" />
</a>
</div>',
esc_url( get_permalink() ),
adverts_get_main_image( get_the_ID() )
);
}
return $output;
} );
Let me know :)
Hey Tom,
Thank you very much, this looks good.
Best regards
Patrick
You're welcome :)