拉取内容无论用户是否有帖子

发布于 2024-11-19 04:59:29 字数 689 浏览 2 评论 0原文

这篇文章涉及 WordPress 和 CIMY 用户额外字段。我认为您不需要了解后者来帮助解决这个问题,因为这似乎是一个 WordPress 问题。

CIMY User Extra Fields 是一个插件,允许注册用户在其个人资料中拥有更多信息。您可以根据需要添加任意数量的字段。然后,您必须编辑“author.php”以获取新信息。

我目前正在使用以下代码来提取新的用户配置文件字段:

<?php if (have_posts()) { $flag = true;  while (have_posts()) { the_post();
if ($flag) { $value = get_cimyFieldValue(get_the_author_ID(), 'dj-name');
if ($value != NULL) echo "<p><strong>Staff Bio: </strong>" . cimy_uef_sanitize_content($value);
echo "</p>";
$flag = false;    }}}?>

问题是这样的。我的一些用户有 0 个帖子,此代码只会为有 1 个或更多帖子的用户提取额外的字段内容。我怀疑这是由于“if (have_posts())”函数造成的。有没有办法修改代码来显示信息,即使用户有 0 个帖子?

谢谢 扎克

This post relates to WordPress and CIMY User Extra Fields. I do not think you need a knowledge of the latter to help with this problem, as it seems to be a WordPress issue more than anything.

CIMY User Extra Fields is a plugin that allows registered users to have much more information in their profiles. You can add as many fields as you want. You then have to edit "author.php" to pull in the new information.

I am currently using the following code to pull in the new user profile fields:

<?php if (have_posts()) { $flag = true;  while (have_posts()) { the_post();
if ($flag) { $value = get_cimyFieldValue(get_the_author_ID(), 'dj-name');
if ($value != NULL) echo "<p><strong>Staff Bio: </strong>" . cimy_uef_sanitize_content($value);
echo "</p>";
$flag = false;    }}}?>

The issue is this. Some of my users have 0 posts and this code will only pull the extra field content for the user if that have 1 post or more. This is due to the "if (have_posts())" function I suspect. Is there someway to modify the code to display the information even if the user has 0 posts?

Thanks
Zach

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

故事还在继续 2024-11-26 04:59:29

如果不需要用户必须有一个帖子才能存储 CIMY 值(我假设),那么您不需要检查帖子计数 > > 0.您可能已经从帖子模板复制了该代码块。

以下示例仅获取该值,如果设置了该值,将通过 echo 进行输出:

<?php
  $authorID = get_the_author_meta('ID');
  $value = get_cimyFieldValue($authorID, 'dj-name');
  if (!empty($value))
    echo '<p><strong>Staff Bio: </strong>'
         , cimy_uef_sanitize_content($value)
         , '</p>'
    ;
?>

If it's not a need that a user must have a post to have CIMY values stored (which I assume), you just don't need to check for post-count > 0. You probably have copied that chunk of code over from a post template.

The following example just takes the value, and if it is set, will do the output via echo:

<?php
  $authorID = get_the_author_meta('ID');
  $value = get_cimyFieldValue($authorID, 'dj-name');
  if (!empty($value))
    echo '<p><strong>Staff Bio: </strong>'
         , cimy_uef_sanitize_content($value)
         , '</p>'
    ;
?>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文