我试图在一些插件HTML之前添加一些HTML,而不编辑实际的插件。
该函数出现在其类NavigationBar中。
class NavigationBar {
public static function get_navigation_bar( $options ) {
// THE CODE
return $html;
}
}
我想在我的functions.php中添加一个过滤器,如下所示:
function get_navigation_bar_with_ad( $html ) {
$html = '<div>This appears before the nav bar.</div>' . $html;
return $html;
}
add_filter( 'get_navigation_bar', 'get_navigation_bar_with_ad' );
除了在插件的代码中添加HTLM之外,还有一种简便的方法吗?我希望避免这种情况,以免将来的更新不会破坏代码。谢谢!
在使用NavigationBar::get_navigation_bar( $options )
函数的构造函数中,他们将动作和过滤器添加到$ html对象。
add_filter( 'tps_the_content_after_current_slide', __NAMESPACE__ . '\\Content::filter_content_after_current_slide', 10, 2 );
如果可以使用此过滤器,我想我会得到想要的结果。
答案 0 :(得分:1)
如果该插件本身提供了过滤器/操作,则可能是的,但似乎并非如此。 您可以通过“ apply_filter()”或“ do_action”函数来识别它,例如
app = Flask(__name__)
@app.route('/foo', methods=['POST'])
def foo():
# blablabla
return jsonify(ret_image_as_str)
app.run(debug=True, use_debugger=False, use_reloader=False, passthrough_errors=True, host='0.0.0.0', threaded=True)
我建议您使用jQuery并按如下所示操作html:
$html = apply_filter(...);
向DubVader致敬:前置是正确的
好@LucyTurtle我可以为您提供帮助。如果有人确实需要以下解决方案,请在我的评论中添加您的最终解决方案: 解决方案:
jQuery('#idOfPluginHtml').prepend("<div>Your HTML</div>");
答案 1 :(得分:0)
知道了!使用@Tonno的答案,我找到了一个可以过滤的钩子。我将此过滤器添加到了functions.php
function get_navigation_bar_with_added_code( $html ) {
return $html . '<div>This will appear above the nav bar.</div>';
}
add_filter( 'tps_the_content_after_current_slide', 'get_navigation_bar_with_added_code' );