Exclude excerpt from wordpress wp_query

时间:2016-03-02 10:52:08

标签: php wordpress wp-query

Hellow everyone! I am showing blog of posts in additional wp template and everything works fine, but I've made some kind of gallery from it, and I don't need to show anything except gallery and title.

Inside posts I have this:

[gallery ids="1618,...,1634"]
<h2>...</h2>
<p>...</p>
text without format, etc.

As you can see, I am using a gallery shortcode. I need it to be shown, but all other content to be excluded from the loop.

Really appreciate your help in this question...

My template code:

<?php
/*
 * Template name: Блог
 */
$current_page = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
    'posts_per_page' => 9,
    'paged'          => $current_page,
    'cat'            => 8
);
query_posts( $args );

$wp_query->is_archive = true;
$wp_query->is_home = false;

while(have_posts()): the_post();
    ?>
    <div class="foto_posts">
        <?php the_content()  ?>
      <?php  echo '<a href="' . get_permalink() . '" class="foto_title" target="_blank">' . get_the_title() . '</a>';?>
        </div>
    <?php
endwhile;

if(function_exists('page_navi_slider')) page_navi_slider();

3 个答案:

答案 0 :(得分:0)

尝试将<?php the_content() ?>替换为<?php the_title() ?>

答案 1 :(得分:0)

如果您只想显示图库短信,请尝试此

替换

<?php the_content()  ?>

$pattern = get_shortcode_regex();
preg_match('/'.$pattern.'/s', $post->post_content, $matches);
if (is_array($matches) && $matches[2] == 'gallery') {
   $shortcode = $matches[0];
   echo do_shortcode($shortcode);
}

答案 2 :(得分:0)

尝试使用get_post_meta_key()

获取图库和视频
<?php get_post_meta($post_id,'key_name',1);?>

如果它返回一个数组,则遍历该数组以获取图像链接和视频链接

add_shortcode('gallery', 'gallery_shortcode_fancybox');
function gallery_shortcode_fancybox($attr) {

    $attachment_ids = explode(',',$attr['ids']);

    $args = array(
        'post__in' => $attachment_ids,
        //'cat'            => 8 if category needs to be shown pass it in shortcode , same as ids
    );
    $gallery_posts  = query_posts( $args );
    foreach ($gallery_posts as $key => $value) {
        //do the stuff here
        echo '<h2>'. $value->post_title;'</h2>';
        $feat_image = wp_get_attachment_url( get_post_thumbnail_id($value->ID);
        echo '<p><img src="'.$feat_image.'" ></p>';
    }
}