Footnotes in custom fields

时间:2013-02-24 作者:whiteletters in blankpapers

我正在使用Jquery悬停脚注插件,该插件允许添加脚注并在悬停时动态显示它们。

换句话说,我使用{{FOOTNOTE_NUMBER}}, 然后我用双括号括起实际的脚注文本[[FOOTNOTE_NUMBER]] Footnote text [[FOOTNOTE_NUMBER]]. 插件将找到这些“短代码”,并自动将一个框悬停在脚注上。有关此插件的更多信息,请访问http://wordpress.org/extend/plugins/jquery-hover-footnotes/

这里有一个例子:http://restoredisrael.org/blog/961/footnote-plugin-test-page/

此外,我还使用自定义字段,并通过以下方式获取其内容:

echo get_post_meta($post_id, $key, $single);
问题是,此插件仅应用于内容(由返回the_content()). 在查看插件代码时,我发现:

add_filter(\'the_content\', \'jqFootnotes\', 1, 1);
因此,我尝试为元值添加此过滤器:

add_filter(\'get_post_meta\', \'jqFootnotes\', 1, 1);
add_filter(\'key_name\', \'jqFootnotes\', 1, 1); 
但这是徒劳的。

我应该怎么做才能使插件也应用到自定义字段内的脚注上?

1 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

我认为您需要做的是找到自定义元数据的显示位置并执行以下操作:

echo jqFootnotes(get_post_meta($post_id, $key, $single));
这将运行jqFootnotes 过滤你的帖子元,我认为这会满足你的需要(假设$post_id, $key, 和$single 正确设置)。。

Side note: 就因为有the_content() 函数和athe_content 过滤器并不意味着可以使用任何函数名作为过滤器。大多数函数没有匹配的筛选器。

供参考:http://codex.wordpress.org/Function_Reference/apply_filters

结束

相关推荐

Run shortcode before filters

我的用户在注释中发布代码片段。我为此创建了一个快捷码:function post_codigo($atts,$content=\"\"){ return \'<code>\'.$content.\'</code>\'; } add_shortcode(\'codigo\',\'post_codigo\'); 问题是html在打包到代码标记之前会被过滤掉。我想如果我能在过滤器之前运行短代码,那么我可以使用fun