我正在尝试创建一个自定义循环,以不同的样式显示我的帖子。
在我的帖子中,我主要有Youtube视频和一些文字。在我的帖子循环中,我只需要显示帖子和文本的特征图像的缩略图,但我不想在Youtube视频中显示任何iFrame。
我在寻找解决方案,我发现了这个-Display only text to WordPress loop without loosing the text formatting - 它应该删除iFrame和图像,这对我来说很好,但我有多个帖子循环,所以我真的不想影响the_content()
函数,因为如果您理解我的问题,它在我的主题中的许多不同循环中使用。我不是一个真正的程序员,所以这对我来说很难。
edit 1 我已将您的代码添加到函数中。php,但什么都没有发生。以下是我在模板中的代码:
<?php
global $post;
$args = array(\'orderby\' => \'rand\', \'posts_per_page\' => 1,);
$custom_posts = get_posts($args); foreach($custom_posts as $post) : setup_postdata($post); ?>
<div class="hpvybirame">
<div <?php post_class(); ?> id="post-<?php the_ID(); ?>">
<h1><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1>
<?php show_only_thumbnails($content); ?>
<?php echo get_the_post_thumbnail($thumbnail->ID, \'vlog-lay-c\'); ?>
</div>
</div>
<? endforeach; ?>
SO网友:Tunji
我相信您应该能够使用is_main_query 函数和内容筛选器。
这个is_main_query
检查当前查询是循环中的主查询还是次查询。
function wpse253491_strip( $content ) {
if ( is_home() || is_front_page() && !is_main_query() ) {
$content = preg_replace(\'#<\\s*iframe[^>]*>.*?<\\s*/\\s*iframe>#msi\', \'\', $content);
}
return $content;
}
add_filter( \'the_content\', \'wpdocs_remove_shortcode_from_index\' );