解决方案已在您的代码中:
<?php foreach (get_categories( $args ) as $cat ) : ?>
<a class="categorylink" href="<?php echo get_category_link($cat->term_id); ?>"><img src="<?php echo z_taxonomy_image_url($cat->term_id); ?>" />
更具体地说:
<?php foreach (get_categories( $args ) as $cat ) : ?>
...get_category_link($cat->term_id)...
那个
term_id
是类别的ID,因此只需测试它是否与您不需要的ID之一匹配,以及
continue;
跳到下一个。
然而,您的代码中有一个不相关但极其严重的错误。短代码不直接回显/输出。它们需要以字符串形式返回输出。这个短代码会破坏很多东西,并且会出现在错误的地方。
请记住:
function brokenshortcode() {
?><p>I am an awful shortcode that breaks lots of things</p><?php
}
add_shortcode( \'broken\', \'brokenshortcode\' );
function niceshortcode() : string {
return \'<p>I am a good well behaved shortcode</p>\';
}
add_shortcode( \'nice\', \'niceshortcode\' );
您可以通过以下类型提示函数来强制执行此操作:
function my_categories_shortcode() : string {
现在,如果您犯了这个错误,该函数将导致PHP致命错误