使用ACF自定义帖子类型显示Slug中的分类法名称

时间:2017-11-20 19:40:16

标签: php custom-post-type

如何从$ area显示slug的自定义帖子类型返回类别名称?使用$ area:

输出如下所示
  

位于north_west的酒店

我希望输出看起来像:

  

西北部的酒店

使用以下代码创建类别:

<!DOCTYPE html>
<html lang="en">

<head>
  <script type="text/javascript" src="js/jsdefault.js"></script>
  <link rel="stylesheet" href="css/webdefault.css">
  <meta charset="UTF-8">
  <meta name="description" content="Conference Website">
  <meta name="keywords" content="Conference, website">
  <meta name="author" content="Rafal Dudek">
  <meta name="robots" content="all">
  <title>Conference Registration</title>
</head>

<body>

  <div id="main">
    <form action="thankyou.html" id="registration" onsubmit="return check()" method="get">
      <fieldset>
        <legend>Dining Information</legend>
        <p>
          Would you like a full meal or just day 2 dinner?<br />
          <label><input type="radio" id="mealone" name="meal" value="full" required/> Full Meal ($250)</label>
          <label><input type="radio" id="mealtwo" name="meal" value="part"/> Day 2 dinner only ($75)</label>
        </p>

      </fieldset>
      <fieldset>
        <legend>Workshop Information</legend>
        <p>
          Which workshops would you like to join?<br /> Outdoors Theme:
          <label><input type="radio" id="sesonea" name="session_1" value="workshop_1" required /> Lawn Maintenance</label>
          <label><input type="radio" id="sesoneb" name="session_1" value="workshop_2"/> Landscaping Ideas</label>
          <label><input type="radio" id="sesonec" name="session_1" value="workshop_3" /> Pest Control</label>
        </p>
      </fieldset>
</body>

</html>

我正在尝试使用get_term_by代码。我在“区域”部分尝试了很多内容,包括“类别”,“区域”和其他一些内容:

$area_filters[tax_query] = array(
        array(
            'taxonomy'  => 'areas',
            'field'     => 'slug',
            'terms'     => $area
        )
    );

这给我一个错误,我称之为$ area_name

  

捕获致命错误:类WP_Term的对象无法转换为字符串

几乎所有其他东西都只给我一个空白而没有错误

注意:我花了几个小时研究找到答案,但没有运气。以下是我评论过的一些链接:

https://developer.wordpress.org/reference/functions/get_term_by/

https://wordpress.stackexchange.com/questions/16394/how-to-get-a-taxonomy-term-name-by-the-slug

https://wordpress.stackexchange.com/questions/95502/get-category-id-from-category-slug-not-working

1 个答案:

答案 0 :(得分:0)

错误即将发生,因为您正在尝试回显Object。您所需的值在该对象内。

从上面的代码我相信你有值$area = 'north_west'

如果你有这个,那么你拥有一切,通过以下代码获取区域对象,

// Pretending 'areas' to be taxonomy name
$area_object = get_term_by('slug', $area, 'areas'); 

现在从对象得到你的名字,

$area_name = esc_html( $area_object->name );

使用$area_name您想要显示的位置。希望这会有所帮助。