如何在函数中使用数组来仅获得我想要的值

时间:2012-08-07 作者:pixelngrain

我试图在wordpress主题中使用这个功能,这样我就可以只获得我想要的东西,而不是收集所有的东西。我不太熟悉在函数中使用数组,所以我需要您的专家帮助才能使其正常工作,我将非常感激。

这是我的密码

function gallery_artist($arg=null, $arg2=null, $arg3=null){

    global $png_gallery_meta;
    $png_gallery_meta->the_meta();

    $gallery = get_post_meta(get_the_ID(), $png_gallery_meta->get_the_id(), TRUE);

    $gallery_value = $gallery[\'image_artist\'];
    $artist_info = $gallery_value;

    $string = $artist_info;
    $artist = substr($string, 0, stripos($string, "/") );

    // getting first name and last name from user id
    $author_first_name = get_userdata(basename($string))->first_name;

    $author_last_name = get_userdata(basename($string))->last_name;

    $author_full_name = $author_first_name . \' \' . $author_last_name;

    $user_id = \'<a href=" \' . get_author_posts_url(basename($string)) . \' " title="more submissions of \' . $author_first_name .\' \'. $author_last_name . \' " >\' . $artist . \'</a>\';


    $arg = $author_first_name;      
    echo $arg;

    $arg2 = $author_last_name;      
    echo $arg2;

    $arg3 = $user_id;
    echo $arg3;     

}
之后,我想使用此函数来获取我想要的任何值,而不必渲染所有三个值以进行聚集。意味着如果我只想要名字,那么我只传递该值,它将只呈现名字,依此类推。。

这是我想用的东西。但是你可以建议我没有问题的任何代码和函数类型。

<?php call_user_func_array(\'gallery_artist\', array(\'first_name\',\'last_name\',\'artist_id\') ) ?>
非常非常感谢你们。。

1 个回复
SO网友:kaiser

wp_list_pluck() 要从数组或对象中获取某些字段,请执行以下操作:

$object = new StdClass();
$object->foo = \'Hi!\';
$object->bar = \'Yo!\';

$array[\'foo\'] = \'Hi!\';
$array[\'bar\'] = \'Yo!\';

$result_obj = wp_list_pluck( $object, \'foo\' );
var_dump( $result_obj );
// Result:
string (3) Hi!

$result_array = wp_list_pluck( $array, \'bar\' );
var_dump( $result_array );
// Result:
string (3) Yo!

结束

相关推荐

是什么原因导致wp-Comments-post.php重定向到浏览器的IP地址?

我有一个WordPress副本正在运行,它最近已经从共享主机转移到我控制的VPS上。虽然同一站点的测试副本在同一实例的另一个vhost上、在同一IP地址上正确运行,但在我将公共站点移到另一个vhost上之后,注释表单开始将访问者重定向回自己的IP地址,并显示302 Found 代替成功的302 Moved Temporarily.运行WP 3.4.1,我尝试了:从仪表板重新安装WP,并检查所有插件都是最新的,停用所有插件并将主题设置为211,与工作测试安装不同,以检查它们是否是来自多个IP、计算机和浏览器