配置Widget Logic以使用PHP显示相关数据

时间:2015-12-04 16:33:54

标签: php wordpress widget

我在Wordpress网站上安装了Widget Logic。使用is_single('this')它会在页面上正确显示小部件。但是我需要 'this'是一个变量并匹配另一个变量。

我正在寻找的是PHP等效的SQL“where”子句,它将一个字段与另一个字段匹配。从y中选择x,其中a = b;

我有代表“位置”的帖子 - 可能是伦敦,巴黎,慕尼黑。 我有代表“服务”的帖子,可以按位置过滤。 我有一个显示可用服务的小部件。

我想根据位置动态过滤小部件显示的内容。如果我有慕尼黑帖子,则只有慕尼黑提供的服务才会显示在小部件中,伦敦页面上只会显示伦敦提供的服务。

我尝试将Widget Logic设置为'field1'=='field2'或20的约20种变体 $ field1 == $ field2并且是_ ??(??)/ in _ ??(??)没有快乐。

也许我的语法错了?或使用错误的WP条件标签?

1 个答案:

答案 0 :(得分:0)

使用Widget Logic可以解决这个问题。以下内容在WordPress页面上的PHP文本框小部件中运行

$fish是正在展示的帖子的标题(例如,伦敦)

相关帖子都有一个'元值'包括位置(例如,伦敦)

<?php 

    $fish = get_queried_object_id(); 

    if ('$fish' != null ) {

    query_posts (array ('post_type' => array('accommodation'), 'meta_value' => $fish, 
    'orderby' => 'asc', 'showposts' => 3) );
    if (have_posts()) : while (have_posts()) : the_post();?>

    <h4><a href="<?php the_permalink() ?>">
    <?php the_post_thumbnail( 'thumbnail'); ?> 
    <?php the_title(); ?></a></h4>

    <?php endwhile;
    endif;

    } else {
        echo "why is this here?";
    }
    ?>