2016-04-29 15 views
0

WordPressの登録されていないユーザーからショートコード[contact-form-7 id="3080"]でフォームを非表示にする必要があります。 私はこの '[client] [contact-form-7 id = "3080"] [/ client]'のような挿入タグを使用しようとしましたが動作しません。このPHPコード登録していないユーザーからフォームを非表示にすることはできますか?

function access_check_shortcode($attr, $content = null) { 

    extract(shortcode_atts(array('capability' => 'read'), $attr)); 

    if (current_user_can($capability) && !is_null($content) && !is_feed()) 
     return $content; 

    return ''; 
} 

add_shortcode('access', 'access_check_shortcode'); 

私はテンプレート

<?php 

if (is_user_logged_in()) 
    echo do_shortcode('[contact-form-7 id="1234" title="Contact form 1"]'); 

?> 

答えて

1

の内側にそれを表示する必要があります原因この1つ​​は、興味深いものではありませんが、あなたは、サードパーティ製のプラグインをインストールすることができ/喜んでいますか?

  1. 隠すこの(https://wordpress.org/plugins/hide-this/)
  2. 目のみ(https:// BSもしそうなら、あなたはどちらか、またはこれらの両方をチェックアウトする場合があります.wordpress.org/plugins/eyes-only-user-access-shortcode /)

これらの両方は、特定のコンテンツをラップすることができるショートコードを有効にすることによって機能します。私はどちらにも、ログインしているユーザーだけにどのようにオプションがあると信じています。

+0

これを試してください、しかし、wordpressは私のショートコードを中にしたくありません[hide] [/ hide] –

関連する問題