0

私は WordPress 用の PHP を使い始めており、いくつかのソーシャル ネットワーク アイコンをフッターに配置するコードをいくつか書いています。私が行った方法は、DBに保存されているソーシャルネットワークのURLのコンテンツを呼び出すだけで、フッターにアイコン/リンクがある場合です。しかし、私には非常に非効率に見えます。これがコードです。より効率的にする方法を知っている人はいますか。

      <?php 
        $social1 = of_get_option('fab_social_twitter_url');
        $social2 = of_get_option('fab_social_facebook_url');
        $social3 = of_get_option('fab_social_linkedin_url');            
      ?>



      <!-- divs for right social network icons column -->
      <div class="eight columns">
        <div class="social">
          <ul>

            <?php
                if(!empty($social1)) {
            ?>
                <li><a href="<?php echo of_get_option('fab_social_twitter_url'); ?>"><img src="<?php echo of_get_option('fab_social_twitter_icon'); ?>" alt="Follow us on Twitter"></a></li>
            <?php
             } 
            ?>

            <?php
                if(!empty($social2)) {
            ?>
                <li><a href="<?php echo of_get_option('fab_social_facebook_url'); ?>"><img src="<?php echo of_get_option('fab_social_facebook_icon'); ?>" alt="Follow us on Facebook"></a></li>
            <?php
             } 
            ?>            

            <?php
                if(!empty($social3)) {
            ?>                  
                <li><a href="<?php echo of_get_option('fab_social_linkedin_url'); ?>"><img src="<?php echo of_get_option('fab_social_linkedin_icon'); ?>" alt="Follow us on Linkedin"></a></li>
            <?php
             } 
            ?>            

          </ul>
        </div>
      </div>
4

3 に答える 3

2

多分:

  <!-- divs for right social network icons column -->
  <div class="eight columns">
    <div class="social">
      <ul>
        <?php
            foreach (array("twitter","facebook","linkedin") as $option)
                ($tmp=of_get_option('fab_social_'.$option.'_url')) && (print('<li><a href="'.$tmp.'"><img src="'.of_get_option('fab_social_'.$option.'_icon').'" alt="Follow us on '.ucfirst($option).'"></a></li>'));
        ?>
      </ul>
    </div>
  </div>
于 2013-06-29T14:34:24.090 に答える
1

パフォーマンスの観点から、ここで最適化するものは何もないと思います.3つの別々のケースが個別にテストされました.

于 2013-06-29T14:34:31.980 に答える
0
  <?php 
    $social1 = of_get_option('fab_social_twitter_url');
    $social2 = of_get_option('fab_social_facebook_url');
    $social3 = of_get_option('fab_social_linkedin_url'); 

    $icon1 = of_get_option('fab_social_twitter_icon');
    $icon2 = of_get_option('fab_social_facebook_icon'); 
    $icon3 = of_get_option('fab_social_linkedin_icon');          
  ?>



  <!-- divs for right social network icons column -->
  <div class="eight columns">
    <div class="social">
      <ul>

        <?php if(!empty($social1)) { ?>
            <li>
               <a href="<?php echo $social1; ?>">
                  <img src="<?php echo $icon1; ?>" alt="Follow us on Twitter">
               </a>
            </li>
        <?php } ?>

        <?php if(!empty($social2)) { ?>
            <li>
               <a href="<?php echo $social2; ?>">
                  <img src="<?php echo $icon2; ?>" alt="Follow us on Facebook">
               </a>
            </li>
        <?php } ?>

        <?php if(!empty($social3)) { ?>
            <li>
               <a href="<?php echo $social3; ?>">
                  <img src="<?php echo $icon3; ?>" alt="Follow us on Linkedin">
               </a>
            </li>
        <?php } ?>   

      </ul>
    </div>
  </div>
于 2013-06-29T14:38:34.203 に答える