之前发过一篇 《批量替换wordpress文章中的内容的代码》,今天来分享一段更复杂一点的代码,同样是文章中批量替换文本内容的功能,但是带上了条件判断。
/*批量替换文章中的代码或字段*/ add_filter('the_content', 'replace_text_wps'); add_filter('the_excerpt', 'replace_text_wps'); function replace_text_wps($text){ if ( in_category( array (3,9,11) ) ) { $replace = array( 'style="float:right' => 'style="display: none', 'style="max-width: 750px"' => '', '<div class="bbp-signature">' => '<div class="bbp-signature"><img src="https://www.example.com/c51a3658ly1fk34jdajlrj205k05k0su.jpg"/>', ); } elseif ( in_category(2) ) { $replace = array( 'style="float:right' => 'style="display: none', 'style="max-width: 750px"' => '', '<div class="special-content">' => '<div class="special-content"><img src="https://www.example.com/c51a3658ly1fk3602yukmj205k05kt8u.jpg"/>', ); } elseif ( in_category(10) ) { $replace = array( 'style="float:right' => 'style="display: none', 'style="max-width: 750px"' => '', '<div class="special-content">' => '<div class="special-content"><img src="https://www.example.com/c51a3658ly1fk369gwqftj205k05k0sq.jpg"/>', ); } else { $replace = array( 'style="float:right' => 'style="display: none', 'style="max-width: 750px"' => '', '<div class="special-content">' => '<div class="special-content">', ); } $text = str_replace(array_keys($replace), $replace, $text); return $text; }
这是针对wordpress栏目有选择性地针对 special-content 这个DIV做了替换,在不同的栏目下,为这个DIV附加了不同的图片。