如何在 onclick href 中调用简码(在 Html 小部件中)?
Posted
技术标签:
【中文标题】如何在 onclick href 中调用简码(在 Html 小部件中)?【英文标题】:How to call shortcode in onclick href (in Html widget)? 【发布时间】:2021-07-30 20:59:53 【问题描述】:点击提交按钮时,我需要调用简码 [profile-url]。 我尝试了以下代码,但它们都没有调用 url。
onclick="location.href='<?php echo do_shortcode('[profile-url]'); ?>';"
onclick="javascript:location.href='<?php echo do_shortcode('[profile-url]'); ?>';"
onclick="location.href=<?php echo do_shortcode('#profile-url')?>;"
onclick="location.href='[profile-url]';"
onclick="location.href=<?php profile-url(); ?>;"
我使用导航菜单插件测试了这个短代码 [profile-url],它运行良好。 它只是不适用于下面的菜单代码。 你能告诉我如何解决这个问题吗? Elementor 中使用 html 小部件的菜单代码:
<li>
<a id="fourth-menu" class="menu">
<h2 class="menu-title menu-title_4th">Myhome</h2>
<ul id="menu-dropdown-four" class="menu-dropdown">
<li onclick="location.href=????????????;">Submit</li>
<li>Progress</li>
</ul>
</a>
</li>
Function.php 中的 [profile-url](运行良好): add_shortcode( 'profile-url' , 'infosubmission_url' );
function infosubmission_url()
$user = wp_get_current_user();
if( !$user->ID )
//user not logged in, redirect to login package
return ( 'www.myweb.com/project-login-required/' );
//User is logged in, return dynamic URL
$username = $user->user_login;
return ( 'www.myweb.com/mypage-infosubmit/' );
//it allows you to use short code in menue link
add_filter( 'wp_nav_menu_items', 'do_shortcode');
add_filter( 'widget_text', 'shortcode_unautop');
add_filter( 'widget_text', 'do_shortcode');
add_filter( 'widget_html', 'do_shortcode');
谢谢。
【问题讨论】:
【参考方案1】:请试试这个进行测试
onclick="javascript:location.href=http://www.uol.com.br/"
如果正常,请调整 PHP 代码。
更新:
<li>
<a id="fourth-menu" class="menu">
<h2 class="menu-title menu-title_4th">Myhome</h2>
<ul id="menu-dropdown-four" class="menu-dropdown">
<?php
$output = '<li onclick="' . do_shortcode('profile-url') .'">Submit</li>';
echo $ouput;
?>
<li>Progress</li>
</ul>
</a>
</li>
【讨论】:
感谢您的 cmets。我需要调用简码 [profile-url] 而不是特定的 url。你有什么想法吗? @Fioi 我的意思是 [onclick="javascript:location.href=uol.com.br/] 与 [onclick="location.href=uol.com.br/"].因此,您只需使用以下代码即可:onclick="javascript:location.href='' 哦,对不起,我试过代码,但是当我点击它时按钮没有反应...... @Fioi 1)如果对您有用,请尝试答案中的新更新代码。 2) 你不应该使用 标签来包装那些 ul, li 元素。不推荐。 我更新了代码,菜单代码就是以此为基础的 => codepen.io/kkrueger/pen/qfoLa以上是关于如何在 onclick href 中调用简码(在 Html 小部件中)?的主要内容,如果未能解决你的问题,请参考以下文章