在 Wordpress 菜单中创建动态站点地址

     2023-03-25     308

关键词:

【中文标题】在 Wordpress 菜单中创建动态站点地址【英文标题】:Create a Dynamic Site Address in a Wordpress Menu 【发布时间】:2013-07-26 01:03:58 【问题描述】:

我正在一个基于 Wordpress 主题的现有网站上做一些工作,但使用了大约 15 个插件(包括 Buddypress)。其中一个特别是 WP Sliding Login|Dashboard 插件,它有一个指向用户活动源的链接。我在 wp-sliding-login-dashboard.php 文件中找到了创建该链接的代码:

  <?php
                if ( is_user_logged_in() ) 
                global $current_user;
                $username = $current_user->user_login;
                echo ' <li><a href="http://www.mywebsitename.com/members/' . $username . '/activity/">Activity Feed</a></li>';
                    
                    ?>

我想使用此代码将用户发送到同一位置,但使用主页顶部的链接。不幸的是,主页链接都是使用 Wordpress 菜单创建的,据我所知,它只允许使用附加到现有页面的静态链接。

我是否创建一个虚拟页面来链接到仅执行上述代码的退出?这甚至可能吗?想象一个 5 岁的孩子试图读莎士比亚,你对我作为一名程序员的能力有所了解,所以请随意与我互动 - 即,如果你说,“哦,只需创建一个范围函数,而不是创建一个全局函数函数”,我会盯着你流口水和困惑。

图片清晰:滑动登录菜单(WP-Sliding Login|Dashboard Plugin),在状态栏中显示目标URL为www.ferrignofit.com/members/FerrignoFit/activity/(当前登录用户为FerrignoFit ): http://i.imgur.com/NPvmCXU.jpg

主页面基于 Wordpress 的菜单,我想访问上述 URL,但目前正在访问 www.ferrignofit.com/activity/,这是一个不同的页面: http://i.imgur.com/dIiFpDC.jpg

【问题讨论】:

绝对可行,我很想写一个答案,但你的问题中有一些变量,我需要先知道才能回答。首先,您想要做的事情的图片表示会很棒,因为我不知道链接应该去哪里。接下来我可以建议您检查codex.wordpress.org/Function_Reference/wp_nav_menu,这样您就可以看到您可以在菜单之前或之后添加内容,甚至在菜单项之后等等。如果我理解正确,您想添加一个带有动态信息的静态链接所以它适用于当前登录的用户。 感谢您的反馈!这是滑动登录的图像,将您带到正确的页面: 看不到图,哪里漏掉了?还是你? 呸!尝试编辑原始帖子以添加图片,但我需要至少 10 的声誉才能发布图片。 上传图片到图片库并分享链接。 【参考方案1】:

所以这里有一个针对这个特定问题的 jQuery 解决方案。通过查看您拥有的图像,您想要做的是针对动态 WordPress 菜单中的特定锚点。

您可能知道,您可以为 WordPress 菜单功能创建自定义链接...它只是让您设置标签和 URL。您现在应该创建这样的项目,并给它一个 URL 的哈希值。

现在为该特定菜单项设置一个类,这样您就可以为 jQuery 提供一个很好的句柄来定位它(否则您可以使用 WordPress 为每个特定菜单项创建的动态类)。

如果你有一个类集或者你知道你需要定位什么,那么你可以在你的菜单之前添加这个代码块。

<?php if (is_user_logged_in()) ?>
  <script>
    $(document).ready(function(e)     
      var targetNav = $('li.customClassName a');
      var userName = '<?php $current_user = wp_get_current_user(); echo $current_user->display_name;?>';
      var userUrl = 'http://www.mywebsitename.com/members/'+ userName +'/activity/';
      targetNav.attr('href',userUrl);
    );
  </script>
<?php  else  ?>
  <script>
    $(document).ready(function(e)     
      var targetNav = $('li.customClassName a');
      targetNav.attr('href','http://www.***.com');
    );
  </script>
<?php  ?>

请不要说我正在使用 PHP 来获取 WordPress 中的当前用户名,在我获取用户名并将其存储在 userName 变量中之后,我在 userUrl 中使用它来设置我想要的路径.

另一方面,我使用的是is_user_logged_in(),因此如果用户实际上没有登录,您可以选择将链接设置为其他内容。因此,使用此if 语句,两个代码块之一将由 PHP 输出。

一旦设置了两个变量,我只需使用 jQuery 定位我的菜单项并修改 href 属性以将哈希替换为路径和动态用户名。

虽然这不是混合 JS 和 PHP 的好习惯,但我想在这里了解其他人可以建议的其他解决方案,因此我将其发布为针对您非常具体的问题的解决方案。

我用我自己的 WordPress 网站测试了这段代码,它可以工作,请记住,这段代码需要在 PHP 文件中,否则&lt;script&gt; 标签中使用的 PHP 对服务器没有任何意义,如果它在.js 文件。

【讨论】:

首先:感谢您对硫磺的回复!第二:我将代码添加到哪个php文件-header.php?当你说“用 jQuery 定位菜单项时,你的意思是将上面代码中的 targetNav 值更改为我给菜单项 (activity-feed) 提供的类名吗?当你说“修改 href 属性”时,你只是意思是将上面代码中的href之后的站点地址更改为同一页面(ferrignofit.com/activity-stream)? 嗨@AndrewFleischer:是的,继续并将文件添加到靠近您的菜单调用的标题中,以便更容易看到它的用途。是的,在目标菜单项上,更改targetNav 以匹配您的选择器,并修改 href 属性。如果您想向我发送小提琴和指向您网站的链接,我将帮助您使代码更符合您的确切要求。要修改的主要内容是变量,以使其适合您。 这是一个小提琴,应该根据您在上面的问题中提到的内容工作。请让我知道这是否适合您,我会将其添加到帖子的正文中。 jsfiddle.net/sulfureous/tfTTS 感谢硫磺 - 使用了小提琴中的更新代码,但活动提要没有去任何地方,我想我确定这是我没有正确实施的东西。我仍然有只有一个“#”作为 url 的 Activity Feed 菜单项,并且我已经将类设置为 activity-feed。我想将网址更改为 www.ferrignofit.com/activity-feed/ 吗? 在这个阶段,我需要查看所有代码以调试可能发生的情况,您是否有一个测试环境,我们可以检查以确保 jQuery 在正确的位置,使确保代码很好地适应您的需求。

如何在 nuxt.js 中创建动态锚链接?

...:56【问题描述】:我正在构建一个nuxtonepager,它接收来自WordpressRestApi的内容。我已经获得了Wordpress菜单结构,并且每个菜单项都存储在item.title中。要稍后滚动到ID为item.title的请求的div,我想用#完成i 查看详情

在 AWS EC2 Bitnami Wordpress 实例中创建子域

】在AWSEC2BitnamiWordpress实例中创建子域【英文标题】:Creatingasub-domaininAWSEC2BitnamiWordpressinstance【发布时间】:2015-06-2711:40:23【问题描述】:我正在尝试为托管在单个AWSEC2实例上的网站创建子域。我使用了bitnami单站点wordpress图像。... 查看详情

如何使用数据库在 Laravel 中创建动态菜单栏

】如何使用数据库在Laravel中创建动态菜单栏【英文标题】:HowtoCreateDynamicMenubarinLaravelusingDatabase【发布时间】:2018-09-3007:10:09【问题描述】:最初,我创建了静态导航栏,但现在我想将导航栏改进为动态。我在那里尝试了控制器... 查看详情

如何在没有通知和确认过程的情况下更改 WordPress 中的主管理员电子邮件地址

】如何在没有通知和确认过程的情况下更改WordPress中的主管理员电子邮件地址【英文标题】:HowtochangemainadminemailaddressinWordPresswithoutnotificationandconfirmationprocesses【发布时间】:2018-06-2010:54:43【问题描述】:我在登台服务器中创建... 查看详情

在wordpress中创建空白

<br/>&nbsp; 查看详情

如何在 WordPress 中创建自定义表单?

】如何在WordPress中创建自定义表单?【英文标题】:HowcanIcreateacustomforminWordPress?【发布时间】:2017-02-1801:08:49【问题描述】:我有一个WordPress网站,想创建一个表单(输入→数据库)。我看过两个教程:Howyoucaneasilycreatecustomizedfo... 查看详情

如何在 wordpress 中创建自动完成文本框?

】如何在wordpress中创建自动完成文本框?【英文标题】:howtocreateanautocompletetextboxinwordpress?【发布时间】:2014-09-3005:23:53【问题描述】:您好,我正在开发一个wordpress插件。我尝试了在自定义表单中创建自动完成文本框的代码。A... 查看详情

在 Wordpress 中创建自定义 URL

】在Wordpress中创建自定义URL【英文标题】:CreateaCustomURLinWordpress【发布时间】:2017-07-2619:36:12【问题描述】:有没有一种方法可以在Wordpress中创建自定义永久链接?例如,我正在尝试创建以下网址:website.com/our-services/douchebag-remo... 查看详情

php在wordpress中创建thickbox(代码片段)

查看详情

在 wordpress 中创建固定标题

】在wordpress中创建固定标题【英文标题】:Createfixedheaderinwordpress【发布时间】:2015-01-1504:13:26【问题描述】:我有一个使用零售商主题的woocommerce商店设置。我正在尝试创建一个固定的标题并使其只有产品区域滚动。到目前为止... 查看详情

如何在 WordPress 中创建唯一用户 ID

】如何在WordPress中创建唯一用户ID【英文标题】:HowtocreateUniqueUserIDinWordPress【发布时间】:2021-06-2006:34:35【问题描述】:我需要从WordPress后端添加用户。所以,我想为他们生成唯一的用户ID。但我可以实现它。有人可以帮我解决... 查看详情

如何在 Wordpress 管理面板中创建自定义 HTML 表单?

】如何在Wordpress管理面板中创建自定义HTML表单?【英文标题】:HowtocreatecustomHTMLforminWordpressAdminPanel?【发布时间】:2014-02-1720:24:11【问题描述】:是否可以在WordPress管理面板中添加自定义HTML?我正在尝试在我的管理面板中创建... 查看详情

如何以编程方式在 WordPress 中创建帖子 [关闭]

】如何以编程方式在WordPress中创建帖子[关闭]【英文标题】:HowtoCreateaPostinWordPressProgrammatically[closed]【发布时间】:2013-01-1409:05:35【问题描述】:我想知道如何以编程方式在WordPress中为大约七个不同的帖子创建帖子?我试过了:&... 查看详情

在 SSH 隧道中创建 wordpress 的路径

】在SSH隧道中创建wordpress的路径【英文标题】:creatingapathtowordpressinSSHTunnel【发布时间】:2021-11-0212:30:40【问题描述】:我犯了一个新手错误,我正在尝试纠正。我需要访问wordpress安装并编辑数据库,但主机不提供控制面板或phpM... 查看详情

用代码在 IIS 中创建 wcf 服务

】用代码在IIS中创建wcf服务【英文标题】:CreatingwcfservicewithinIISincode【发布时间】:2011-12-2607:43:18【问题描述】:我有一个saas服务,它有多个站点组(每个组属于不同的客户端)在一个IIS站点中运行,具有不同的iis绑定/主机名... 查看详情

php在wordpress中创建一个cron作业(代码片段)

查看详情

如何在 WordPress 插件安装中创建 MySql 用户自定义函数?

】如何在WordPress插件安装中创建MySql用户自定义函数?【英文标题】:HowtocreateaMySqluser-definedfunctioninaWordPressplugininstallation?【发布时间】:2011-07-1821:16:57【问题描述】:我编写了一个为MySql数据库创建用户定义函数(UDF)的脚本。我... 查看详情

text在wordpress中创建自定义搜索表单(代码片段)

查看详情