Javascript 如何从wordpress中删除标题p类?

Javascript 如何从wordpress中删除标题p类?,javascript,php,jquery,wordpress,Javascript,Php,Jquery,Wordpress,我不希望任何图像或它们的标题出现在我的循环中,但我希望保持html的样式 到目前为止,我能够使用此功能摆脱图像: function remove_images () { $content = get_the_content(); $content = apply_filters('the_content', $content); $content = strip_tags($content, '<p><a>'); return $content; } 函数删除图像(){

我不希望任何图像或它们的标题出现在我的循环中,但我希望保持html的样式

到目前为止,我能够使用此功能摆脱图像:

function remove_images () {
$content = get_the_content();
$content = apply_filters('the_content', $content);
$content = strip_tags($content, '<p><a>');
return $content;
}
函数删除图像(){
$content=获取内容();
$content=apply_过滤器('the_content',$content);
$content=strip_标签($content,);
返回$content;
}
现在,由于我保留了所有的
标签用于样式设计和保留书面文章内容,这意味着图像的标题不会被删除,因为它们被包装在


那么现在,我怎样才能删除一个类,这样标题就不会出现呢?我想把它写成一个函数,在特定时间调用它。我有多个循环,在其中一些循环中我需要标题,而在其他循环中我不需要…

首先,我会使用
内容()
,在您希望输出内容的地方(在您的模板中或您使用它的任何地方)。然后,使用
add_filter()
修改内容

其次,要用类删除标记,必须使用我们的老朋友regex。因此,您的代码可能看起来有点像这样:

function remove_images( $content ){
    if( /*condition for where you want this to occur*/ ){
        $content = strip_tags($content, '<p><a>');
        $content = preg_replace('#<p class="wp-caption-text">(.*?)</p>#', '', $content );
    }
    return $content;
}
add_filter( 'the_content', 'remove_images', 100, 1);
$( document ).ready(function() {
    $("p.wp-caption-text").removeClass("wp-caption-text");
});
函数删除图像($content){
如果(/*您希望发生这种情况的条件*/){
$content=strip_标签($content,);
$content=preg#u replace(“#

(.*)”

#“,”$content); } 返回$content; } 添加_过滤器('the_content','remove_images',100,1);
您可以使用jquery removeClass函数删除该特定类

您可以这样使用它:

function remove_images( $content ){
    if( /*condition for where you want this to occur*/ ){
        $content = strip_tags($content, '<p><a>');
        $content = preg_replace('#<p class="wp-caption-text">(.*?)</p>#', '', $content );
    }
    return $content;
}
add_filter( 'the_content', 'remove_images', 100, 1);
$( document ).ready(function() {
    $("p.wp-caption-text").removeClass("wp-caption-text");
});

您可以从

中了解有关removeclass的更多信息好的,因此我将此函数放在functions.php中,并设置了if条件this:
是页面模板(get\u template\u directory\u uri().“templates/slider with text.php”)
然后在模板页面上,我不确定应该做什么。我刚刚尝试了
内容()
,但是图像和大写字母出现了。我尝试过
删除\u图像(内容())
,结果相同。我尝试了
删除图像($content)
,得到了一个未定义
$content
的错误。抱歉,我只是不确定如何在模板页面上调用此函数,或者测试我针对该模板的条件是否准确。感谢您的帮助
函数。php
删除图像()
函数和
添加过滤器的正确位置。然后在模板中简单地使用
内容()
是正确的。如果您签出
内容()
您将看到一个
应用过滤器()
函数。这是应用
add\u filter()
函数所做任何更改的地方。您可以通过删除if语句并仅在其中执行代码来测试if语句是否存在问题。如果它起作用,您需要更改If语句条件。尝试将此条件作为If语句
is\u page\u模板('templates/slider with text.php')
中的条件。函数应该知道您已经在主题目录中查找了。是的,问题在于if语句。非常感谢你。我把它改成了
is\u page\u template('templates/slider with text.php'
,现在它工作得很好。再次感谢!