Zeige eine andere Galerie in einem separaten Post

Ich benutze die [multigallery] -function und ich frage mich, ob es eine Möglichkeit gibt, die function zu verwenden, um Anhänge von einem anderen Beitrag aus aufzurufen.

Zum Beispiel, wenn ich einen Post über Taylor Swift schreiben würde und ich Anhänge aus einem anderen Taylor Swift Post mit dem Multigallery Shortcode hinzufügen wollte, wie würde ich das tun.

Zum Beispiel durch Hinzufügen von id= zum [multigallery id=???] wobei die ID die Post-Nummer ist und Anhänge von diesem Post erhält.

Hier ist der Code, den ich gerade in meiner function.php-Datei verwende

 function multi_gallery_shortcode(){ global $post; $before = sprintf('',$post->post_title); $gallery_sc = sprintf('',get_random_gallery_images($post->ID)); $after = sprintf('
', get_total_attachments($post->ID)); return $before . do_shortcode($gallery_sc) . $after; } function get_random_gallery_images($post_id){ global $wpdb; $ids = ""; $args = array( 'post_type' => 'attachment', 'post_mime_type' => 'image', 'posts_per_page' => 6, 'post_status' => 'any', 'orderby' => 'rand', 'post_parent' => $post_id, ); $attachments = get_posts($args); if ($attachments) { $tmp=array(); foreach ($attachments as $attachment) { $tmp[] = $attachment->ID; } $ids=implode(",",$tmp); } return $ids; } function get_total_attachments($post_id){ $args=array( 'post_parent' => $post_id, 'post_mime_type' => 'image', 'post_type' => 'attachment', ); return count(get_children( $args )); } add_shortcode('multigallery', 'multi_gallery_shortcode');

Solutions Collecting From Web of "Zeige eine andere Galerie in einem separaten Post"

Sie können diese function anstelle Ihres multi_gallery_shortcode() versuchen:

 function multi_gallery_shortcode($atts, $content=null) { extract( shortcode_atts( array( 'pid' => 0, ), $atts ) ); //format the input $pid = intval($pid); // construct a post object dependent on the input value if($pid>0){ // query a post object $pobj = get_post( $pid ); }else{ global $post; // current post object $pobj = &$post; } // construct gallery title $gallery_title = $pobj->post_title; // customize to your needs // construct gallery url $gallery_url = ""; // default first image gallery url $attributes = wp_get_attachment_image_src( get_first_gallery_image($pobj->ID),'thumbnail'); // customize to your needs if(isset($attributes[0])) $gallery_url = $attributes[0]; // format output: $before = sprintf('', $gallery_url , $gallery_title ); $gallery_sc = sprintf('[gallery columns="1" order="ASC" orderby="menu_order" include="https://wordpress.stackexchange.com/questions/95109/showing-a-different-gallery-in-a-seperate-post/%s" link="gallery"]',get_random_gallery_images($pobj->ID)); $after = sprintf('%d Photos.', get_total_attachments($pobj->ID)); return $before.do_shortcode($gallery_sc).$after; } 

wo du es so in deinen Beiträgen / Seiten verwendest:

 [multigallery pid="1234"] 

wo pid ist die Post-ID.