展开函数以调用插件或显示链接

时间:2015-01-15 作者:Frank Ohlhorst

我在函数中添加了以下代码。php在允许用户填写表单之前验证用户是否已登录:

function my_members_only_shortcode($atts, $content = null)

{
    if (is_user_logged_in()) {
        $content = do_shortcode($content);
    } else {
        $content = \'This content is for members only, please log in or register first.\';
    }

    return $content;
}
add_shortcode(\'members_only\', \'my_members_only_shortcode\');
以上代码使我能够使用[members_only][iphorm id="1" name="Example form"][/members_only] 阻止用户在未登录时访问表单-

但是,我希望[仅限Members\\u]功能/短代码显示指向wp登录的可单击超链接。php页面,用户可以在该时间点轻松登录和注册-或者,如果[仅成员]功能可以自动将小部件放置在未登录消息下的“未登录”区域中,我希望它是社交媒体登录小部件,我可以使用插件创建的短代码在帖子中调用它-[do\\u小部件“社交登录”]

1 个回复
SO网友:Privateer

您是否尝试过:

function my_members_only_shortcode($atts, $content = null) {
    if ( !is_user_logged_in() ) {
        $content = \'<p>This content is for members only. Please log in or register first.</p>\' . do_shortcode(\'[do_widget "Social Login" ]\');
    }
    return $content;
}
只有在用户未登录的情况下,才应使用您的消息和特殊短代码内容替换内容。

短代码在我看来很奇怪。。。因此,如果我有错误,请更正它,但想法是只替换内容并使用do\\u shortcode(“[您的\\u shortcode\\u here]”)将表单附加到自定义消息中。。。如果他们登录了,就不要管这些内容。

结束

相关推荐

Child theme functions.php

我不知道如何改变我的孩子主题的功能。php。在woothemes文档中,它说“子主题中的functions.php应该是空的,并且不包括父主题functions.php中的任何内容。”我需要使用此功能来不显示产品类别,但我不确定如何在我的子主题中执行此操作。也许有人能给我提供一些指示?add_action( \'pre_get_posts\', \'custom_pre_get_posts_query\' ); function custom_pre_get_posts_query( $