How to load shortcode sooner

时间:2012-07-07 作者:xyz

我正在尝试向菜单添加一个快捷码,菜单项会显示,但不会显示快捷码输出。

我认为问题是,快捷码在菜单运行之后运行,因此快捷码输出不存在。

有没有办法更快地加载短代码?

谢谢

编辑:

抱歉,这里是:

//--Nav Menu
function add_profile_link_to_nav(){ 
 if ( is_user_logged_in() ) { ?> 

<ul> 
  <li class="menu-item"id="one"> <a href="http://example.com/members/">All  Members</a>
    <ul class="sub-menu"> 
          <li class="menu-item"><?php echo custom_execute_shortcode(); ?> </li>
    </ul> 
 </li>
</ul>    <!--end menu--->
<?php } 
}
add_action( "wp_nav_items","add_profile_link_to_nav" );

function custom_execute_shortcode() {
 $myfunction= \'[bc_user_groups amount="20"]\';
 $myfunction_parsed = do_shortcode($myfunction);
 return $myfunction_parsed;
}
编辑:您好Ralf912,感谢您的回复,我正在尝试使用您的建议,我收到以下错误代码:php_code_error:1:/hsphere/local/home/c262876/mydevelepmentsites.com/maol_bp/wp-content/themes/CC-Child-Theme/functions.php:72:Call to undefined function do_bc_user_groups() Message:A fatal code error occurred. 我有:

//--Nav Menu
function profile_link_to_nav(){ 
 if ( is_user_logged_in() ) { ?> 

 <ul> 
   <li class="menu-item"id="one"> <a href="http://example.com/members/">All  Members</a>
 <ul class="sub-menu"> 
     <li class="menu-item"><?php echo custom_execute_shortcode(); ?> </li>
 </ul> 
   </li>
 </ul>    <!--end menu--->
<?php } 
}
add_action( "bp_menu","profile_link_to_nav",1 );

function custom_execute_shortcode() {
$atts = array( \'amount\' => 20 );
$myfunction_parsed =bc_user_groups( $atts );
return $myfunction_parsed;
}
谢谢

2 个回复
SO网友:Ralf912

$myfunction= \'[bc_user_groups amount="20"]\';
$myfunction_parsed = do_shortcode($myfunction);
成为

$atts = array( \'amount\' => 20 );
$myfunction_parsed = bc_user_groups( $atts );
直接调用shortcode函数(我估计您的shortcode函数名为“bc\\u user\\u groups”)。

SO网友:jhussey

通过谷歌搜索,我发现了一些有用的信息,

您可以将其添加到主题的功能中。php

添加\\u过滤器(\'item\\u to\\u hook\\u to\',\'do\\u shortcode\',9);

如果您使用的是WP导航结构,则可以挂接到“WP\\U nav\\U菜单”。如您所见,“9”表示优先级设置,允许您控制加载顺序。

信息链接:-

Good explanation of shortcodes - look at bottom of article for priority reference

add_filter with parameter description

如果您发现此操作不成功,请尝试更改优先级设置,或在加载菜单之前通过引用挂钩列表找到其他要挂钩的内容,希望这对您有所帮助

由于缺少帖子,我无法添加超过2个链接,但钩子列表可以在以下网站上找到,甚至可以在wordpress网站上找到

http://adambrown。信息/p/wp\\U挂钩/挂钩

结束

相关推荐

Using Variables in Shortcodes

我正在尝试创建一个短代码来显示团队之间的得分。我已经做到了这一点,但我似乎无法将变量引入到这该死的事情中。我认为数组用于此,但显然它不是这样工作的。 function get_gamecentre($atts, $content = null) { extract(shortcode_atts(array( \"HOME-IMG\" => \'\', \"AWAY-IMG\" => \'\',