将注册时的用户元匹配到内容类别

时间:2013-05-12 作者:Chrisdigital

我正在尝试将注册表中的一些user\\u元数据连接到admin中设置的一些类别,以过滤页面上的演示文稿。这个问题让我很困惑,因为这个问题有多个答案。。。

这是我到目前为止设置的。。。

$user_id = $current_user->ID;

$user_values = get_user_meta( $user_id);

$interest_disaster = $user_values[\'interest_disaster\'][0];
$interest_animals = $user_values[\'interest_animals\'][0];
$interest_women = $user_values[\'interest_women\'][0];
$interest_seniors = $user_values[\'interest_seniors\'][0];
$interest_hunger_health = $user_values[\'interest_hunger_health\'][0];
$interest_education = $user_values[\'interest_education\'][0];
$interest_environment = $user_values[\'interest_environment\'][0];
$interest_arts_culture = $user_values[\'interest_arts_culture\'][0];
$interest_children_youth = $user_values[\'interest_children_youth\'][0];
$interest_other = $user_values[\'interest_other\'][0];
$interest_mentoring = $user_values[\'interest_mentoring\'][0];
$interest_poverty_urban = $user_values[\'interest_poverty_urban\'][0];
我可以把它们排成一排。。。

$interestBlock = array(
    $interest_disaster,
    $interest_animals,
    $interest_women,
    $interest_seniors,
    $interest_hunger_health,
    $interest_education,
    $interest_environment,
    $interest_arts_culture,
    $interest_children_youth,
    $interest_other,
    $interest_mentoring,
    $interest_poverty_urban
    );
但我在检查该项是否存在于函数内的类别数组中以及是否回显在$user_values 数组输出到页面或将其粘贴到自定义查询中。

function convertInterestCategory(){

    $interestCategories = array(
    \'interest_disaster\',
    \'interest_animals\',
    \'interest_women\',
    \'interest_seniors\',
    \'interest_hunger_health\',
    \'interest_education\',
    \'interest_environment\',
    \'interest_arts_culture\',
    \'interest_children_youth\',
    \'interest_other\',
    \'interest_mentoring\',
    \'interest_poverty_urban\'
    );
$counter = 0;

//Stuff in usermeta

    foreach ($interestCategories as $counter) {
        if (in_array($interestCategories , $user_values)){
        echo $user_values[$interestCategories][0];
        $counter++;
        }
    }
}
如果您能帮助我建立一个循环函数来检查中是否存在项,我将不胜感激$user_values 数组,并且也位于$interestCategories 数组,然后如何返回相关结果。提前谢谢。

一个接一个我想是这样的。。。

//Interests

if (isset($user_values[\'interest_disaster\'][0])){
    $interest_disaster = $user_values[\'interest_disaster\'][0];
    echo $interest_disaster;    
}

if (isset($user_values[\'interest_animals\'][0])){
    $interest_animals = $user_values[\'interest_animals\'][0];
    echo $interest_animals; 
}

if (isset($user_values[\'interest_women\'][0])){
    $interest_women = $user_values[\'interest_women\'][0];
    echo $interest_women;
}

if (isset($user_values[\'interest_seniors\'][0])){
    $interest_seniors = $user_values[\'interest_seniors\'][0];
    echo $interest_seniors;
}

if (isset($user_values[\'interest_hunger_health\'][0])){
    $interest_hunger_health = $user_values[\'interest_hunger_health\'][0];
    echo $interest_hunger_health;
}

if (isset($user_values[\'interest_education\'][0])){
    $interest_education = $user_values[\'interest_education\'][0];
    echo $interest_education;
}

if (isset($user_values[\'interest_environment\'][0])){
    $interest_environment = $user_values[\'interest_environment\'][0];
    echo $interest_environment;
}

if (isset($user_values[\'interest_arts_culture\'][0])){
    $interest_arts_culture = $user_values[\'interest_arts_culture\'][0];
    echo $interest_arts_culture;
}

if (isset($user_values[\'interest_children_youth\'][0])){
    $interest_children_youth = $user_values[\'interest_children_youth\'][0];
    echo $interest_children_youth;
}

if (isset($user_values[\'interest_other\'][0])){
    $interest_other = $user_values[\'interest_other\'][0];
    echo $interest_other;
}

if (isset($user_values[\'interest_mentoring\'][0])){
    $interest_mentoring = $user_values[\'interest_mentoring\'][0];
    echo $interest_mentoring;
}

if (isset($user_values[\'interest_poverty_urban\'][0])){
    $interest_poverty_urban = $user_values[\'interest_poverty_urban\'][0];
    echo $interest_poverty_urban;
}

1 个回复
最合适的回答,由SO网友:Charles Clarkson 整理而成

你在找这个吗?

function convertInterestCategory() {

    $interest_categories = array(
        \'interest_disaster\',
        \'interest_animals\',
        \'interest_women\',
        \'interest_seniors\',
        \'interest_hunger_health\',
        \'interest_education\',
        \'interest_environment\',
        \'interest_arts_culture\',
        \'interest_children_youth\',
        \'interest_other\',
        \'interest_mentoring\',
        \'interest_poverty_urban\'
    );

    $current_user = wp_get_current_user();
    $user_values  = get_user_meta( $current_user->ID );

    foreach ( $interest_categories as $interest_category ) {
        if ( isset( $user_values[$interest_category][0] ) )
            echo $user_values[$interest_category][0];
    }
}

结束

相关推荐

get_categories() for only CPT

在我正在工作的网站上,我有作为自定义帖子类型的作业和作为自定义分类法的位置。这些位置由作业、职位和其他CPT使用。我正在为这些工作制作一个小过滤器,并希望将所有位置的列表显示为链接,单击其中一个后,它将对页面进行排序,以仅显示该位置的工作。使用简单链接查询。我正在使用get_categories() 生成位置列表,但该函数的问题是,它不允许我指定帖子类型并显示所有具有任何类型帖子的位置。因此,我最终得到了一个并非所有位置都有工作的列表,当单击该链接时,它将显示404页。 <?p