【问题标题】:Wordpress Custom Hooks For Theme Issue主题问题的 WordPress 自定义挂钩
【发布时间】:2023-03-03 08:16:25
【问题描述】:

我对 wordpress 很陌生。我正在开发一个 wordpress 主题并使用社交分享按钮插件在社交网站上分享帖子。现在所有社交按钮都显示在帖子内容的正下方。但我希望它们显示在帖子 div 中的自定义位置上。

插件按钮使用以下代码显示:

add_filter('the_content', 'ssb_display');

此代码显示帖子内容下方的社交分享按钮,但我希​​望它们显示在同一帖子 div 中的另一个位置。我怎样才能做到这一点。请不要否定我的问题,因为我是 wordpress 的新手。

实际上我想在 wordpress 中定义我自己的过滤器钩子,然后将_filter 添加到该钩子。

谢谢。

【问题讨论】:

  • CSS?听起来 ssb_display 正在将社交内容附加到 the_content。您可以查看插件源并在您的 functions.php 文件中制作自己的副本(my_ssb_display),并更改其将商品附加到内容的方式。但实际上,试试 CSS。

标签: wordpress wordpress-theming


【解决方案1】:

add_filter的反义词是remove_filter,由于回调是通过name函数注册的,所以只需要添加

// functions.php
remove_filter('the_content', 'ssb_display');

然后显示您想要的按钮。

更新

如果由于某种原因您不能直接在模板中使用ssb_display 函数,您可以使用带有apply_filters 的自定义过滤器

// functions.php
add_filter('show_the_ssb_button', 'ssb_display')

// template.php
<?php echo apply_filters('show_the_ssb_button', $content) ?>

如果ssb_display 不使用内容中的特定信息,则$content 变量可以是空字符串。

【讨论】:

  • 实际上我想创建一个像 show_the_ssb_button 这样的新过滤器并使用 add_filter('show_the_ssb_button', 'ssb_display');在插件中并在我的主题的任何位置使用此过滤器
【解决方案2】:

一次,您可以使用此代码删除操作:

remove_filter('the_content', 'ssb_display');

现在,插件不要在输出中添加任何代码。您可以使用此代码将社交按钮添加到您想要的位置:

if (function_exists('ssb_share_icons')) 
     echo ssb_share_icons();

【讨论】:

    猜你喜欢
    • 2015-03-08
    • 2018-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多