比较Wordpress中的两个php变量

时间:2012-02-27 15:59:07

标签: php wordpress variables

我很难比较两个php变量来显示或不显示某些文本,具体取决于变量是否匹配。这就是我所拥有的:

<?php $link = the_permalink();?>
<?php $portfolioloop = new WP_Query( array( 'post_type' => 'news' ) ); ?>
    <?php while ( $portfolioloop->have_posts() ) : $portfolioloop->the_post(); ?>                           
        <?php while(the_repeater_field('featured_companies')): ?>
            <?php $company = the_sub_field('featured_company'); ?>
            <?php  if ($link == $company) { ?>
                show news articles
            <?php } else { ?>
                don't show news articles
            <?php } ?>
        <?php endwhile; ?>
    <?php endwhile; // end of the loop. ?>

我想比较$link$company,如果匹配,则执行if中的内容。我哪里错了?

如果有帮助的话,我在Wordpress中使用http://www.advancedcustomfields.com插件。

更新: 首先忘了提两个变量是url。目前它正在回显出我想要的页面上相同的2个网址,但是当2个网址不匹配时,它也会回显“显示新闻文章”。

在Twitter个人资料下方 - http://www.mediwales.com/v3/members/mediwales/显示相同的两个网址。但是当你转到这个页面http://www.mediwales.com/v3/members/3m/时,它显示了两个不同的网址,但显示了“显示新闻文章”。

2 个答案:

答案 0 :(得分:3)

你必须小心使用Wordpress的本机功能:

the_permalink() 回应固定链接(请参阅documentation examples

get_permalink() 作为变量返回<(documentation examples

所以你需要使用:

$title = get_permalink();

答案 1 :(得分:0)

刚刚解决了它:

<h2>Latest News</h2>    
<?php $link = get_the_title(); ?>
<?php $portfolioloop = new WP_Query( array( 'post_type' => 'news' ) ); ?>
<?php while ( $portfolioloop->have_posts() ) : $portfolioloop->the_post(); ?>  
    <?php $post_link = get_post_permalink(); ?>                        
        <?php  if (get_field('featured_companies') != "") { ?>
            <?php foreach(get_field('featured_companies') as $post): ?>
                <?php $company = get_the_title($post_object->ID); ?>
                <?php if ($company == $link) { ?>
                    <a href="<?php echo $post_link; ?>">News item 1</a>
                <?php } ?> 
            <?php endforeach;?>
        <?php } ?>
<?php endwhile; ?>