2012-02-27 122 views
0

我很努力地比較兩個php變量來顯示或不顯示一些文本,具體取決於變量是否匹配。這是我有:在Wordpress中比較兩個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,如果他們再搭配如果內做的東西。我哪裏錯了?

我在Wordpress中使用http://www.advancedcustomfields.com插件(如果有幫助的話)。

更新: 首先忘了提及這兩個變量是網址。目前,它迴應了我想要的網頁上的兩個相同的網址,但當兩個網址不匹配時,它也會回顯「顯示新聞文章」。

在twitter個人資料下面 - http://www.mediwales.com/v3/members/mediwales/顯示了兩個相同的網址。但是當你轉到這個頁面http://www.mediwales.com/v3/members/3m/時,它顯示了兩個不同的URL,但顯示「顯示新聞文章」。

+0

這將是一件好事知道哪裏出了問題,此代碼運行時會發生什麼? etc ... – 2012-02-27 16:02:03

+0

是'$ company'的一個固定鏈接?在循環中是'$ link = the_permalink();' – JKirchartz 2012-02-27 16:03:52

+0

@JKirchartz是的,它是一個固定鏈接,並在循環中。這是我正在處理的頁面 - http://www.mediwales.com/v3/members/mediwales/它是twitter配置文件下的位。 – Rob 2012-02-27 16:06:06

回答

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; ?> 
3

你必須要小心的WordPress的原生功能:

the_permalink()呼應了的永久鏈接(見documentation examples

get_permalink()回報它作爲一個變量(參見documentation examples

所以您需要使用:

$title = get_permalink(); 
+0

剛剛嘗試過,現在說它們在每個頁面上都不匹配,即使其中一個沒有匹配。 – Rob 2012-02-27 16:57:54

+0

您確定get_permalink()返回您認爲應該返回的內容嗎?嘗試回顯並使用die(),看看它是否提供了你想要的字符串。如果不是,也許包括帖子的ID作爲變量,或者將其包含在一個循環中 – hohner 2012-02-27 17:00:15

+0

是的,我有這條線:

當前頁面的固定鏈接:<?php $ link = get_permalink(); echo $ link; ?>

Rob 2012-02-27 17:02:03