如果循环外部存在作者元(配置文件字段),则显示图像

时间:2013-05-28 作者:user1627363

我试图在循环外显示概要文件字段(如AIM、Jibber)。我设法做到了

<?php
global $post;
$author_id=$post->post_author;
?>

<?php
$field=\'aim\';
the_author_meta( $field, $author_id );
?>
但现在,如果存在这样一个字段,我就不能在其旁边放置图像。这在循环内部有效,但在循环外部无效:

<?php if (get_the_author_meta(\'aim\')) {
echo "

<div class=schrijver-socialmedia>
  <img src=http://blablabla.com/images/aim_icon.png /> 

"; } ?>
如何在循环外获取此图像,并且仅在字段存在时获取?

2 个回复
最合适的回答,由SO网友:Bainternet 整理而成

get_the_author_meta 接受两个参数

  • $field - 要返回的数据项的字段名
  • $userID - 如果将用户ID传递给函数,它将返回指定用户ID的数据。
因此只需传递用户ID或作者ID,例如:

 if (get_the_author_meta(\'aim\',$author_id)) { ...

SO网友:Tom J Nowell

get_the_author_meta 是一个包裹get_user_meta, 这就是你应该使用的。

$value = get_user_meta( $user_id, $key, $single );
$single是true或false值,如果需要单个元字段,请传递true。如果有多个同名字段,请传递false,它将返回一个数组。

由于您只有一个名为aim的字段,请传入true

e、 g。

$aim = get_user_meta( $author_id, \'aim\', true );
此处$author\\u id是您要查询的作者/用户的用户id。

要检查用户是否有目标,请检查$aim值。如果找不到该键的meta,get\\u user\\u meta将返回false。

if ( $aim != false ) {
    // do stuff
}
但是,如果有一个目标场,而该场是空的呢?然后我们可以利用empty() 检查这两种情况,导致:

$aim = get_user_meta( $author_id, \'aim\', true );
if ( !empty( $aim ) ) {
    // do stuff
}
当然,您可以始终将author ID作为第二个参数传递给get_the_author_meta

结束

相关推荐

Link images to post

将图像链接到帖子。大家好我相信这很简单,但我不知道怎么做。我知道如何在帖子中添加图像-单击帖子,添加媒体,选择缩略图。这给了我一个缩略图。我想我要做的是将缩略图链接到帖子,这样我就可以控制缩略图在页面上的显示位置。我有一个这样的模板。 <div class=\"content_div\"> <?php $car_args = array( \'post_type\' =>