Questions tagged «callbacks»

1
如何将参数从add_settings_field()传递给回调函数?
我有这样的功能: add_settings_field( 'contact_phone', 'Contact Phone', 'settings_callback', 'general'); 这样可行。它调用settings_callback。凉。我遇到的问题是:如果我正在做的事情只是回声一点,我不想为每个添加的设置都定义一个回调函数。 function settings_callback() { echo '<input id="contact_phone" type="text" class="regular-text" name="contact_phone" />'; } 我到底为什么要这样做?id,class和name都应该是params。 没有办法将参数传递给settings_callback函数吗?我开始研究核心,到达这里:http : //core.trac.wordpress.org/browser/tags/3.1.3/wp-admin/includes/template.php ..并进入此$ wp_settings_fields全局字段。在哪里定义?

2
current_shortcode()-检测当前使用的简码
在插件类中,我想提供公共数据的简单字段:电子邮件,电话号码,Twitter等。可以扩展该列表。 有关详细信息,请参见GitHub上的插件Public Contact Data。 为了简化用法,我还想提供易于输入的短代码: [public_email] [public_phone] [public_something] 唯一的区别是第二部分。我不想为简码提供更多参数,因为它们容易出错。因此,我为插件类中的所有字段注册了一个短代码处理程序: foreach ( $this->fields as $key => $value ) { add_shortcode( 'public_' . $key, array( $this, 'shortcode_handler' ) ); } 现在shortcode_handler()必须知道调用了哪个简码。我的问题是:我该怎么做? 我当前的解决方法是另一个功能: protected function current_shortcode() { $backtrace = debug_backtrace( DEBUG_BACKTRACE_IGNORE_ARGS ); return $backtrace[3]['args'][0][2]; } 这...适用于the_content()。但是它既不优雅也不坚固。 我已经阅读了wp-includes/shortcodes.php,但是现在看不到如何做得更好。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.