2017-09-11 6 views
0

function.phpで定義したメニューURLにphp変数を使用することはできますか?Wordpress - メニューURLの変数を使用

これは実際に動作していない。例えば

enter image description here

を、彼らは自分のプロフィールを訪問することができますように可変$pathに、私はすべてのユーザーのユーザー名を格納します。

+0

短い答え:いいえ、それはですありえない。そのURLは単なるテキストです。 PHPコードは評価されません。 –

+0

$ pathの値は何ですか?なぜあなたはそこにその価値を置かないのですか? –

答えて

0

フックを使用して、プログラムで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からこのコードが見つかりました。

+0

確かに私はユーザー名を既に保存しています。私はちょうどプロファイルリンク –

+0

@PeterŠtieberにそれを添付する必要があります更新された答えをご覧ください。 –

0
あなたが取得する現在のユーザーの詳細については、このようにダイレクトすることができますワードプレスで

<?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

+0

確かに私はusernameがすでに保存されています。プロファイルリンクに接続する必要があります。 –

+0

'url/users/<?= echo '$ current_user-> user_login'; ?> ' –

+0

実際これは私が上に書いたもので、それはうまくいきません –

関連する問題