首页 文章

比较Wordpress中的两个php变量

提问于
浏览
0

我正在努力比较两个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插件 .

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

在Twitter Profiles 下方 - http://www.mediwales.com/v3/members/mediwales/显示相同的两个网址 . 但是当你转到这个页面http://www.mediwales.com/v3/members/3m/时,它显示了两个不同的网址,但显示了"show news articles" .

2 回答

  • 3

    您必须小心Wordpress的本机功能:

    the_permalink() echoes out 永久链接(见documentation examples

    get_permalink() returns 它作为变量(见documentation examples

    所以你需要使用:

    $title = get_permalink();
    
  • 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; ?>
    

相关问题