Php 从输出中删除除<;p>;标签
我有一个Wordpress网站,它通过Php 从输出中删除除<;p>;标签,php,wordpress,Php,Wordpress,我有一个Wordpress网站,它通过内容()输出个人博客文章的内容 博客文章都由两部分组成,一个小图库和一些文字: <div class="gallery"><img></img>Blah Blah</div> <p>Text</p> <p>Text</p> 废话 正文 正文 我想拆分图库和文本,并将图库输出到左侧的一个div中,将文本输出到右侧的一个div中,如下所示: <div id=
内容()输出个人博客文章的内容
博客文章都由两部分组成,一个小图库和一些文字:
<div class="gallery"><img></img>Blah Blah</div>
<p>Text</p>
<p>Text</p>
废话
正文
正文
我想拆分图库和文本,并将图库输出到左侧的一个div中,将文本输出到右侧的一个div中,如下所示:
<div id="left">GALLERY CONTENT</div>
<div id="right">TEXT CONNTENT</div>
库内容
文本连接
我曾尝试使用strip\u标记(内容(),“”)
来实现这一点,但事实并非如此-它将继续输出所有内容,包括图库
正确的方法是什么?我不太清楚您真正想做什么,而且在这之前,您从输出中包含了一些(很少)源代码,但要真正了解答案,您需要包含模板文件中的相关代码
(和+1仅用于理解您不应触碰核心文件)
无论如何,我怀疑您只想禁用wordrpess生成的自动p
,所以请尝试
remove_filter('the_content', 'wpautop');
(添加到主题中的functions.php。)
或者,您可以使用
add_filter('use_default_gallery_style', '__return_false');
这将只是“重置”画廊样式
或者甚至过滤你自己的画廊风格,这让你能够更好地定位它们
add_filter( 'gallery_style', 'my_own_gallery_style', 99 );
function my_own_gallery_style() {
return "<div class='gallery'>"; // put your own
}
另一方面,如果你想“捕获”部分“内容”并以不同的方式在循环中显示,你可以使用不同的技术,如另一个答案所述。你使用的是显示内容而不是返回内容的内容
将代码更改为
strip_tags(get_the_content(), '<p>')
strip\u标记(获取内容(),“”)
我不久前也遇到了同样的问题。下面是我所做的(在single.php
中,这就是我遇到的问题):
基本上,我使用正则表达式从内容中删除库标记
$gallery
仍然包含短代码。我们不能只是随机显示它,否则它实际上会显示短代码。我们需要执行它,它将显示输出:
if ( get_post_format() == 'gallery' ) {
echo '<div id="left">'. do_shortcode($gallery) .'</div>';
}
if(get_post_format()=='gallery'){
回显“”。do_短代码($gallery)。“”;
}
您的内容不再包含库,因此您可以执行以下操作:
<div id="right"><?php the_content(); ?></div>
if ( get_post_format() == 'gallery' ) {
echo '<div id="left">'. do_shortcode($gallery) .'</div>';
}
<div id="right"><?php the_content(); ?></div>