在页面上显示分配的meta_value中的div

时间:2015-03-09 作者:bigant841

在我的网站上,我创建了一个自定义元数据库,它显示在帖子类型“页面”中。metabox将显示一个复选框和4个url字段。该复选框将控制div(section#footerLinks)的可见性,url字段将控制与div链接一起显示的4个链接。

Ability

单击(打开)复选框后,将显示带有四个链接的我的div,取消选中(关闭)复选框后,将隐藏div。

The Problem

当我单击复选框并填写自定义字段信息时,它工作得非常好。但这会分配给我的所有页面,而不仅仅是我分配的页面。如果我单击另一个页面的复选框“on”,它将显示两个相同的div。

有没有办法让每个页面独立控制div,并且只显示一个div?

Example

第1页应显示div及其自己的信息,并隐藏在所有其他页面上。

第2页应显示div及其自己的信息,并隐藏在所有其他页面上。

下面是我的代码,我正在使用隐藏div并控制选中复选框的meta\\u值

 <?php
  $args = array(
    \'post_type\'     => \'page\',
    \'meta_key\'      => \'_cmb_linkCheckbox\',
    \'meta_value\'    => \'On\',
    \'showposts\'     =>  1,
 );
 $links = new WP_Query( $args );
 ?>
 <?php if ( $links->have_posts() ) : while ( $links->have_posts() ) : $links->the_post(); ?> 
 <section id="footerLinks">
  <article id="footerIcons">
     <ul>
        <li>
          <ul><!-- CONTACT US -->
            <li><a href="<?php echo get_post_meta($post->ID, "_cmb_contactURL", true); ?>"><img src="<?php bloginfo(\'template_directory\'); ?>/images/contactUs.png" /></a></li>
            <li><h4>Contact Us</h4></li>
          </ul>
        </li>
        <li>
          <ul><!-- REQUEST INFO -->
            <li><a href="<?php echo get_post_meta($post->ID, "_cmb_requestURL", true); ?>"><img src="<?php bloginfo(\'template_directory\'); ?>/images/requestInfo.png" /></a></li>
            <li><h4>Rquest Info</h4></li>
          </ul>
        </li>
        <li>
          <ul><!-- VISIT -->
            <li><a href="<?php echo get_post_meta($post->ID, "_cmb_visitURL", true); ?>"><img src="<?php bloginfo(\'template_directory\'); ?>/images/visit.png" /></a></li>
            <li><h4>Visit</h4></li>
          </ul>
        </li>
        <li>
          <ul><!-- APPLY -->
            <li><a href="<?php echo get_post_meta($post->ID, "_cmb_applyURL", true); ?>"><img src="<?php bloginfo(\'template_directory\'); ?>/images/apply.png" /></a></li>
            <li><h4>Apply</h4></li>
          </ul>            
        </li>
     </ul>
  </article>   
  </section>
 <?php endwhile; endif; ?>

1 个回复
最合适的回答,由SO网友:Milo 整理而成

如果您只想在输出标记之前检查元值是否存在,那么

if( get_post_meta( $post->ID, \'_cmb_linkCheckbox\', true ) ){
    ?>
    <section id="footerLinks">
        <?php // your markup... ?>
    </section>
    <?php
}
或者如果该值为“开”:

if( \'on\' == get_post_meta( $post->ID, \'_cmb_linkCheckbox\', true ) ){
    // etc..
}

结束

相关推荐

将jQuery日期选择器添加到自定义发布类型Metabox

我已经创建了一个自定义的post类型元数据库,它可以很好地显示和运行。问题在于日期选择器似乎不起作用,当单击元框时,您可以输入它,而不是出现日期选择器。另一方面,我的脚本似乎都无法工作,尽管它们都已加载。编写加载所有脚本的代码。//Making jQuery Google API function modify_jquery() { if (!is_admin()) { // comment out the next two lines to load th