如何使用钩子更改foogallery中的输出\输入模板?

时间:2017-08-18 08:13:15

标签: php wordpress

我需要更改输出tamplate。例如:

现在我有一个数据库中存储的模板

<div id="foogallery-gallery-67" class="foogallery-container foogallery-default foogallery-link-image foogallery-lightbox-foobox-free spacing-width-10 hover-effect-zoom3  border-style-square-white alignment-center hover-caption-simple foogallery-default-loading">
    <a  href="http://wordpress.local/wp-content/uploads/2017/08/222-1.jpg" data-caption-title="Title" data-caption-desc="description text" data-attachment-id="128" class="">
        <img  src="http://wordpress.local/wp-content/uploads/cache/2017/08/222-1/705461751.jpg" width="150" height="150" />
    </a>
</div>

我需要添加一个data- *属性(data-custom)

<div id="foogallery-gallery-67" class="foogallery-container foogallery-default foogallery-link-image foogallery-lightbox-foobox-free spacing-width-10 hover-effect-zoom3  border-style-square-white alignment-center hover-caption-simple foogallery-default-loading">
    <a  href="http://wordpress.local/wp-content/uploads/2017/08/222-1.jpg" data-caption-title="Title" data-caption-desc="description text" data-attachment-id="128" data-custom="" class="">
        <img  src="http://wordpress.local/wp-content/uploads/cache/2017/08/222-1/705461751.jpg" width="150" height="150" />
    </a>
</div>

我知道我可以直接添加到数据库中,我对如何重新定义输出和输入功能感兴趣,以便将来没有问题。

1 个答案:

答案 0 :(得分:0)

我将再次回答我自己的问题

例如,我们有这样一个插件结构:

class Plugin()
{
    public function __construct()
    {

    }
}

$startPlugin = new Plugin();

我们需要更改输出FooGallary模板。 FooGallary有此过滤器,可以更改输出模板foogallery_attachment_html_link_attributes。现在改变我们的课程,帮助这个过滤器。

class Plugin()
{
    public function __construct()
    {
        add_filter('foogallery_attachment_html_link_attributes', array($this, 'addFoogalleryCategory'), 10, 3);
    }

    public function addFoogalleryCategory($attr, $args, $attachment)
    {
        $attr['data-category'] = 'category';
        return $attr;
    }
}

$startPlugin = new Plugin();

这很容易,但我没有立即找到解决方案。也许我帮助过某人。