Verfasste Forenbeiträge

Ansicht von 2 Antworten - 1 bis 2 (von insgesamt 2)
  • Thread-Starter fabianpnke

    (@fabianpnke)

    Vielen Dank für den Code.
    Der hat mir wunderbar weitergeholfen.
    Ich habe das nun für mich passend umgeschrieben.
    Danke!

    /**
     * Plugin Name: Gallery Shortcode
     */
    // Add Shortcode for CPT thumbnail galleries
    // Add Shortcode
    function custom_posttype_shortcode( $atts ) {
    	// Attributes
    	$atts = shortcode_atts(
    		array(
    			'posttype' => '',
    			'ids' => '',
    		),
    		$atts
    	);
    
    	$idarray = explode( ',', strval( $atts['ids'] ) );
    	
    	$out = '[gallery type="justified" link="file" ids="';
    	
    	// check, if CPT-attribute was set
    	if ( '' == $atts['posttype'] ) {
    		return 'Bitte Custom Post Type angeben <br>
            (z.B. <code>[postgallery posttype="portfolio"]</code>)';
    	} else {
    		// WP_Query arguments
    		if ( ! empty( $atts['ids'] ) ) {
    			$args = array(
    				'post_type' => array( $atts['posttype'] ),
    				'posts_per_page' 		 => -1,
    				'order'                  => 'ASC',
    				'orderby'                => 'title',
    				'post__in' 				 => $idarray,
    			);
    		} else {
    			$args = array(
    				'post_type' => array( $atts['posttype'] ),
    				'posts_per_page' => -1,
    			);
    		}
    
    		// The Query
    		$query = new WP_Query( $args );
    
    		// The Loop
    		if ( $query->have_posts() ) {
    			while ( $query->have_posts() ) {
    				$query->the_post();
    					$out .= get_post_thumbnail_id( $query->ID ).',';
    			}
    		} else {
    			'Keine Beiträge gefunden';
    		}
    
    		// Restore original Post Data
    		wp_reset_postdata();
    
    	$out .= '"]';
    		echo do_shortcode( $out );
    	}
    }
    
    add_shortcode( 'postgallery', 'custom_posttype_shortcode' );
    • Diese Antwort wurde geändert vor 7 Jahren, 2 Monaten von fabianpnke.
    Thread-Starter fabianpnke

    (@fabianpnke)

    Sorry.
    Meine Frage ist: Wie erstelle ich am besten diese Query, die dann anschließend den Shortcode befüllt.

    Danke!

Ansicht von 2 Antworten - 1 bis 2 (von insgesamt 2)