Wordpress图片库从内容中删除

时间:2013-07-16 07:20:00

标签: php wordpress-plugin wordpress

我的Wordpress帖子库有问题:

我创建了一个PHP代码,可以获取所有的后期库图像,并在jquery幻灯片上显示。当我在博客中添加帖子时,我设置了#34;创建一个图库"然后点击"插入帖子"。一切都很好...我的代码获取所有图库图像并显示在一个美丽的幻灯片中。但问题是:如何从帖子中删除图库(因为它出现在我放置幻灯片和发布内容的位置)?

请查看此图片以获取更多解释:

enter image description here

提前多多谢谢!

3 个答案:

答案 0 :(得分:0)

只需在functions.php中按类过滤内容,删除节点并返回新内容。您可以从帖子中删除所有画廊,然后使用自己的自定义画廊样式

    function remove_gallery($content) {
        $doc = new DOMDocument();
        // turn off html5 errors
        libxml_use_internal_errors(true);
        // load html with utf8
        $doc->loadHTML('<?xml encoding="utf-8" ?>'.$content);
        libxml_clear_errors();
        $finder = new DomXPath($doc);
        // find by class (you can also find by id one element without use DomXPath
        $nodes = $finder->query("//*[contains(concat(' ', normalize-space(@class), ' '), ' wp-block-gallery ')]");

        // remove them all
        foreach($nodes as $node){
          $node->parentNode->removeChild($node);
        }
        
        // get only body, and clear what we need to 
        $body = $doc->documentElement->lastChild;
        $content = $doc->saveHTML($body);
        //remove body tag
        $content = str_replace("<body>", "", $content);
        $content = str_replace("</body>", "", $content);
        // clear HTML comments
        $content = preg_replace('/<!--(.|\s)*?-->/', '', $content);
        // clear return characters
        $content = str_replace(array("\n", "\r"), '', $content);

    return $content; 
}
add_filter( 'the_content', 'remove_gallery', 6); 

答案 1 :(得分:-1)

以编辑模式打开帖子。

现在点击视觉布局。

选择图库,它会在左上角显示两个图标,点击第二个图标以从帖子中删除图库。

点击更新按钮保存更改。

答案 2 :(得分:-1)

好的,这将解决循环文件(functions.php)的问题。

您只能取消注册图库短代码并再次注册,不做任何事情;)。

remove_shortcode('gallery');
add_shortcode('gallery', 'gallery_shortcode_lo');

function gallery_shortcode_lo($attr) {

}