我有如下所示的php代码,其中为调试目的添加了Line#A。
undefined reference to 'clean_'
在添加Line#A时,在不同情况下我得到以下o / p:
<div class="vidlist-main__meta cf">
<?php
//if ( has_excerpt() ) {the_excerpt();}
$tags = get_the_tags( get_the_ID() );
$cats = wp_get_post_categories( get_the_ID() ); // Line#Z
echo '<pre>'; print_r($cats); echo '</pre>'; // Line#A
if ( $tags || $cats ) : ?> // Line#B
<span class="archive-links">
<?php
\CPAC\Episodes\generate_markup_for_categories( $cats ); // Line#C
\CPAC\Episodes\generate_markup_for_tags( $tags ); // Line#D
?>
</span>
<?php endif;?>
</div>
问题陈述:
我想知道在Line#Z之后或Line#Z处需要添加什么代码,以便Line#Z仅占用Case A:
Array
(
[0] => 13085
[1] => 13093
)
Case B:
Array
(
[0] => 1
[1] => 13087
)
Case C:
Array
(
[0] => 1
[1] => 13085
)
。
答案 0 :(得分:0)
如果您只想保留一个(或几个值),则可以使用数组相交
<div class="vidlist-main__meta cf">
<?php
//if ( has_excerpt() ) {the_excerpt();}
$tags = get_the_tags( get_the_ID() );
$cats = array_intersect(wp_get_post_categories( get_the_ID() ), [13093]); // Line#Z
echo '<pre>'; print_r($cats); echo '</pre>'; // Line#A
if ( $tags || $cats ) : ?> // Line#B
<span class="archive-links">
<?php
\CPAC\Episodes\generate_markup_for_categories( $cats ); // Line#C
\CPAC\Episodes\generate_markup_for_tags( $tags ); // Line#D
?>
</span>
<?php endif;?>
</div>
最简单的例子是:
$a = [13085,13093];
print_r(array_intersect($a, [13093]));
输出
Array
(
[1] => 13093
)