【问题标题】:Wordpress - using variable in menu URLWordpress - 在菜单 URL 中使用变量
【发布时间】:2018-02-20 01:02:43
【问题描述】:

是否可以在菜单 URL 中使用我在 function.php 中定义的 php 变量?

这实际上是行不通的:

例如,在变量$path 中,我存储了每个用户的用户名,以便他们可以访问自己的个人资料。

【问题讨论】:

  • 简短回答:不,这是不可能的。该网址仅用于文本。它不在那里评估 PHP 代码。
  • $path 的值是多少?你为什么不把价值放在那里?

标签: php wordpress


【解决方案1】:

您可以使用挂钩并以编程方式添加 PHP。

add_filter( 'wp_get_nav_menu_items','nav_items', 11, 3 );
function nav_items( $items, $menu, $args ) {

     if( is_admin() )
        return $items;

    foreach( $items as $item ) {
        if( 'profil' == $item->post_title ) {
            $current_user = wp_get_current_user();
            $username = $current_user->user_login;
            $item->url .= '/' . $username;
        }
    }

    return $items;
}

我在这个社区的另一个answer 中找到了这段代码。

【讨论】:

  • 是的,我已经存储了用户名,我只需要将其附加到个人资料链接
【解决方案2】:

在 Wordpress 中,您可以像这样直接获取当前用户详细信息:

<?php
    $current_user = wp_get_current_user();

    echo 'Username: ' . $current_user->user_login . '<br />';
    echo 'User email: ' . $current_user->user_email . '<br />';
    echo 'User first name: ' . $current_user->user_firstname . '<br />';
    echo 'User last name: ' . $current_user->user_lastname . '<br />';
    echo 'User display name: ' . $current_user->display_name . '<br />';
    echo 'User ID: ' . $current_user->ID . '<br />';
?>

参考:https://codex.wordpress.org/Function_Reference/wp_get_current_user

【讨论】:

  • 是的,我已经存储了用户名,我只需要将其附加到个人资料链接
  • url/users/&lt;?= echo '$current_user-&gt;user_login'; ?&gt;
  • 实际上这是我上面写的不起作用
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-01
  • 2015-09-23
相关资源
最近更新 更多