ここにいくつかのコードがありますが、それが問題を引き起こしています。
function rcMetaDisplayNone($content)
{
global $rc_options;
global $post;
global $login_button;
$rcUserLevel = get_post_meta($post->ID, 'rcUserLevel', true);
if (!current_user_can('read') && ($rcUserLevel == 'Administrator' || $rcUserLevel == 'Editor' || $rcUserLevel == 'Author' || $rcUserLevel == 'Contributor' || $rcUserLevel == 'Subscriber'))
{
$userLevelMessage = strtolower($rcUserLevel);
return do_shortcode( $rc_options[$userLevelMessage . '_message'] );
}
else
{
// return the content unfilitered
return $content;
}
}
ここで克服しようとしているタスクは、次のようecho
にステートメントの最後に an を追加する方法です。if
return do_shortcode( $rc_options[$userLevelMessage . '_message'] );
echo $login_link;
さて、PHPがどのように機能するかのルールにより、これは機能しないことを理解しています。私の質問は次のとおりです。どうすればそれを機能させることができますか? これを可能にする機能または回避策はありますか?
私はPHPの初心者なので、解決策が明らかである場合は申し訳ありません。
**アップデート**
聖なる答え、バットマン!助けてくれてありがとう、皆さん。明確にする必要があります。関数全体を含めるようにコードを更新しました。
$login_link
コードは基本的に、ユーザーがログインできるようにするリンクを出力しています (皮肉なことに)。ただし、return
コードは、私が使用しているこのWordPress プラグインに関連して、ユーザーがページのコンテンツにアクセスする権限を持っていないことを示すメッセージを出力しています。
ここにジレンマがありますか?このメッセージにログイン リンクを追加しようとしています。これは単なる空の戻り値ではなく、ブラウザに出力される実際のメッセージです。
**更新 2**
これは私が使用しているショートコードなので、このコードを関数の外に出力できるかどうかはわかりません。