如何在WordPress中实现PHP版本的wrap函数

前言

如何在WordPress中实现PHP版本的wrap函数?今天小薛教大家如何在WordPress中实现wrap这个函数!

jQuery 有个 wrap 函数,可以使用指定的 HTML 元素来包裹每个被选元素。

jQuery Wrap 函数

比如下面这段 HTML:

<div class="container">
  <div class="inner">Hello</div>
  <div class="inner">Goodbye</div>
</div>

我们使用 wrap 函数给 class 为 inner 的元素加上 class 为 new 的 div:

$( ".inner" ).wrap( "<div class='new'></div>" );

结果为:

<div class="container">
  <div class="new">
    <div class="inner">Hello</div>
  </div>
  <div class="new">
    <div class="inner">Goodbye</div>
  </div>
</div>

wrap 函数也支持回调函数作为参数:

$( ".inner" ).wrap(function() {
  return "<div class='" + $( this ).text() + "'></div>";
});

结果为:

<div class="container">
  <div class="Hello">
    <div class="inner">Hello</div>
  </div>
  <div class="Goodbye">
    <div class="inner">Goodbye</div>
  </div>
</div>

PHP 版本 Wrap 函数

jQuery 的 wrap 函数非常好用,所以我在 PHP 中也简单实现相应的版本:

function wpjam_wrap($text, $wrap){
  $pos = strpos($wrap,'></');

  if($pos !== false){
    return substr_replace($wrap,'>'.$text.'</',$pos,3);
  }elseif(is_callable($wrap)){
    return call_user_func_array($wrap, $text);
  }

  return$text;
}

该功能已经整合到 WPJAM Basic 插件中,并已免费提供下载,简单勾选或者设置下即可开启!

该教程来源于:WordPress果酱

© 版权声明
THE END
喜欢就支持一下吧
点赞17赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容