我希望你能帮忙。
我有两段代码,我不知道如何配对。我希望我的小部件只出现在帖子上,而且只出现在选择了一个特定类别的时候。每当我尝试将条件放在公共函数前面时,它都会在条件行上通知php错误。
这是我的条件代码:
if (is_single() && in_category(\'pladeanmeldelser\'))
以下是我的显示小部件代码:
public function widget( $args, $instance ) {
$title = apply_filters( \'widget_title\', $instance[ \'title\' ] );
$selskab = get_field( "selskab" );
$related = get_field( "related" );
$udgivet = get_field( "udgivet" );
echo $args[\'before_widget\'];
if ( $title ) {
echo $args[\'before_title\'] . $title . $args[\'after_title\']; } ?>
<?php global $post;
if ( has_post_thumbnail( $post->ID ) )
echo get_the_post_thumbnail( $post->ID, \'medium\' );
?>
<div class="textwidget">
<?php if(isset($selskab)) { echo "<p><strong>Pladeselskab:</strong> $selskab </p>"; } ?>
<?php if(isset($related)) { echo "<p><strong>Musikalske slægtninge:</strong> $related </p>"; } ?>
<?php if(isset($udgivet)) { echo "<p><strong>Udgivelsesår:</strong> $udgivet </p>"; } ?>
</div>
<?php echo $args[\'after_widget\'];
}
}
最合适的回答,由SO网友:Sally CJ 整理而成
您应该将条件放在widget()
功能:
public function widget( $args, $instance ) {
// Not single post or not in the pladeanmeldelser category.
if ( ! is_single() || ! in_category(\'pladeanmeldelser\') ) {
return;
}
$title = apply_filters( \'widget_title\', $instance[ \'title\' ] );
// ... other code.
}
这应该行得通。