Php Wordpress:如何将\u过滤器添加到\u内容的特殊div中

Php Wordpress:如何将\u过滤器添加到\u内容的特殊div中,php,wordpress,html,preg-replace,Php,Wordpress,Html,Preg Replace,我正在尝试只在wordpress内容的一个特殊div中添加一个过滤器 当然,我的插件代码现在会影响到所有帖子内容,但我需要的是只将其应用于一个特殊的div class=“game\u req”而不是其他div,例如div class=“how\u play” 我的职位结构: <div> .......... <div class="game_req"> <!-- i need to apply filter to only this div --&g

我正在尝试只在wordpress内容的一个特殊div中添加一个过滤器

当然,我的插件代码现在会影响到所有帖子内容,但我需要的是只将其应用于一个特殊的div class=“game\u req”而不是其他div,例如div class=“how\u play”

我的职位结构:

<div>
    ..........
    <div class="game_req"> <!-- i need to apply filter to only this div -->
         - ball : is a round ..........
         - key : is what we need to ..........
         - caw : is an animal ..........
    </div>
    <div class="how_to_play">
         1- use the key to open .......
         2- use ball to ........
         3- use caw to .........
    </div>
    <div class="sss">
         .... key .......
         .... ball to ........
         .... caw .........
    </div>
    ..........
</div>

..........
-球:是圆的。。。。。。。。。。
-关键:这是我们需要。。。。。。。。。。
-卡乌:是一种动物。。。。。。。。。。
1-使用钥匙打开。。。。。。。
2-使用球。。。。。。。。
3-使用caw。。。。。。。。。
.... 钥匙
.... 球到。。。。。。。。
.... 叫。。。。。。。。。
..........
我的插件过滤器:

function myReplace_function($content){

$patterns = array(
    '/\bball\b/',
    '/\bkey\b/',
    '/\bcaw\b/'
);

$replacements = array(
    'ball ( <img src="smallImgs/ball.png" alt="ball"/> )',
    'key ( <img src="smallImgs/key.png" alt="key"/> )',
    'caw ( <img src="smallImgs/caw.png" alt="caw"/> )'
);

return preg_replace($patterns,$replacements,$content);

}
add_filter('the_content','myReplace_function');
函数myReplace\u函数($content){
$patterns=数组(
“/\bball\b/”,
“/\bkey\b/”,
'/\bcaw\b/'
);
$replacements=数组(
“ball()”,
'键()',
‘caw()’
);
返回preg_replace($patterns,$replacements,$content);
}
添加_过滤器(“_内容”,“myReplace_函数”);

因为没有人回答我的问题,所以我决定尝试多种方法自己解决问题

最后,解决方案是:

我不应该使用add\u过滤器,而是必须使用add\u短代码 更改仅限于替换

 function myReplace_function($content){

还添加任何特定代码作为短代码,例如
my\u短代码
,而不是
u内容

所以我的函数应该是这样的

function myReplace_function($attrs,$content=none){

$patterns = array(
    '/\bball\b/',
    '/\bkey\b/',
    '/\bcaw\b/'
);

$replacements = array(
    'ball ( <img src="smallImgs/ball.png" alt="ball"/> )',
    'key ( <img src="smallImgs/key.png" alt="key"/> )',
    'caw ( <img src="smallImgs/caw.png" alt="caw"/> )'
);

return preg_replace($patterns,$replacements,$content);

}
add_shortcode('my_shortcode','myReplace_function');

仅此而已。

我找到了body_类过滤器,但我不知道它是否与为ex添加特殊效果有关。我想知道,这真的很难问,这样就没有人知道答案或给我答案了吗hint@Tim仅此而已,我在想你会解决我的问题:D,但[解决]了还是解决了。。这是违反现场规则的吗?
function myReplace_function($attrs,$content=none){

$patterns = array(
    '/\bball\b/',
    '/\bkey\b/',
    '/\bcaw\b/'
);

$replacements = array(
    'ball ( <img src="smallImgs/ball.png" alt="ball"/> )',
    'key ( <img src="smallImgs/key.png" alt="key"/> )',
    'caw ( <img src="smallImgs/caw.png" alt="caw"/> )'
);

return preg_replace($patterns,$replacements,$content);

}
add_shortcode('my_shortcode','myReplace_function');
[my_shortcode]<div class="game_req"> <!-- i need to apply filter to only this div -->
         - ball : is a round ..........
         - key : is what we need to ..........
         - caw : is an animal ..........
</div>[/my_shortcode]