gpt4 book ai didi

php - 有没有人有一个很好的功能来删除 Wordpress 中的特定简码?

转载 作者:搜寻专家 更新时间:2023-10-31 21:35:51 28 4
gpt4 key购买 nike

我正在设置一个新的页面模板,该模板在单个列中显示页面的画廊(如果有的话),包含在一个独立的 div 中,向右浮动,所有其他内容向左浮动.我可以通过 get_post_gallery() 回显右边的画廊,现在我想从 the_content() 中删除画廊。

我本质上希望找到的是一个与 strip_shortcodes() 完全相同的函数,但用于特定的简码。像 strip_shortcode('gallery') 或 strip_shortcode('gallery', content()) 这样的东西。有没有人为 Wordpress 编写过这样的函数?

remove_shortcode('gallery') 有效,它在运行时留下该死的简码文本本身。我可以通过 CSS 隐藏图库或通过 jQuery 将其删除,但我宁愿它一开始就不要输出。

最佳答案

要删除简码或特定的简码列表,您可以使用此代码。

global $remove_shortcode;
/**
* Strips and Removes shortcode if exists
* @global int $remove_shortcode
* @param type $shortcodes comma seprated string, array of shortcodes
* @return content || excerpt
*/
function dot1_strip_shortcode( $shortcodes ){
global $remove_shortcode;
if(empty($shortcodes)) return;

if(!is_array($shortcodes)){
$shortcodes = explode(',', $shortcodes);
}
foreach( $shortcodes as $shortcode ){
$shortcode = trim($shortcode);
if( shortcode_exists($shortcode) ){
remove_shortcode($shortcode);
}
$remove_shortcode[$shortcode] = 1;
}
add_filter( 'the_excerpt', 'strip_shortcode' );
add_filter( 'the_content', 'strip_shortcode' );
}
function strip_shortcode( $content) {
global $shortcode_tags, $remove_shortcode;

$stack = $shortcode_tags;
$shortcode_tags = $remove_shortcode;
$content = strip_shortcodes($content);

$shortcode_tags = $stack;
return $content;
}
dot1_strip_shortcode( 'Test' );
dot1_strip_shortcode( 'Test, new_shortcode' );
dot1_strip_shortcode( array('Test', 'new_shortcode') );

接受单个逗号分隔的简码字符串或简码数组。

关于php - 有没有人有一个很好的功能来删除 Wordpress 中的特定简码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20023106/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com