it-swarm.asia

كيف يمكنني عرض/إخفاء محتوى معين

أقوم بإنشاء صفحة "خيارات السمة" لموضوعي ، وتمكنت من جعل معظمها تعمل بشكل جيد. لكنني الآن أحاول إظهار وإخفاء أجزاء معينة في موضوعي بناءً على مربع اختيار بسيط. مثال:

عرض شريط تمرير المحتوى المميز؟ - نعم لا

عندما يختار المستخدم نعم ، أرغب في تمكين الشفرة التالية في قالب معين من موضوعي:

<?php locate_template( array( 'includes/slider.php'), true ) ?>

فكيف يمكنني التفاف هذا الرمز بحيث لا يظهر إلا عند النقر فوق نعم؟ أعتقد أنه نوع من البيان الشرطي ولكن لدي فكرة عن كيفية التعامل مع هذا الأمر. بما أنني لا أستطيع كتابة php ، فأنا بحاجة إلى بعض المساعدة في هذا :) يُسمى اسم الخيار bpslick_featured.

شكرا لك مقدما!

1
Bowe Frankema

@ الامعاء

ستحتاج إلى إنشاء صفيف في وظيفة الخيارات الخاصة بك لخانة الاختيار ومنحها هوية افتراضية وتعيين نوع "خانة الاختيار" لها. فيما يلي نموذج يفترض أن لديك الكود الموجود في لوحة الإدارة بالفعل

<?php
// Set variables for the options panel
$themename = "your_theme_name";
$themeshortname = "yt";
$mythemeoptions = array();

//The Option function
function cool_theme_options() {
global $themename, $themeshortname, $mythemeoptions;

$themeoptions = array (

array( "name" => __('Show featured content slider','your_theme_name'),
"desc" => __('When checked, the slider will be added to the home page.','your_theme_name'),
"id" => "show_featured_slider",
"std" => "false",
"type" => "checkbox"
   ),
 );
}

//The Option Form

function my_cool_theme_admin() {

  global $themename, $themeshortname, $themeoptions;

  // Saved or Updated message
  if ( $_REQUEST['saved'] ) echo '<div id="message" class="updated fade"><p><strong>'.$themename.' settings saved.</strong></p></div>';
  if ( $_REQUEST['reset'] ) echo '<div id="message" class="updated fade"><p><strong>'.$themename.' settings reset.</strong></p></div>';

  // The form
  ?>

  <div class="wrap">
  <h2><?php echo $themename; ?> Options</h2>

  <form method="post">

  <?php wp_nonce_field('theme-save'); ?>
  <table class="form-table">

  <?php foreach ($themeoptions as $value) {

    // Output the appropriate form element
    switch ( $value['type'] ) {

      case 'text':
      ?>

      <tr valign="top">
        <th scope="row"><?php echo $value['name']; ?>:</th>
        <td>
          <?php foreach ($value['options'] as $key=>$option) {
            if ($key == get_option($value['id'], $value['std']) ) {
              $checked = "checked=\"checked\"";
            } else {
              $checked = "";
            }
            ?>
            <input type="radio" name="<?php echo $value['id']; ?>" value="<?php echo $key; ?>" <?php echo $checked; ?> /><?php echo $option; ?><br />
          <?php } ?>
          <?php echo $value['desc']; ?>
        </td>
      </tr>
      <?php
      break;

      case "checkbox":
      ?>
      <tr valign="top">
        <th scope="row"><?php echo $value['name']; ?></th>
        <td>
          <?php
          if(get_option($value['id'])){
            $checked = "checked=\"checked\"";
          } else {
            $checked = "";
          }
          ?>
          <input type="checkbox" name="<?php echo $value['id']; ?>" id="<?php echo $value['id']; ?>" value="true" <?php echo $checked; ?> />
          <?php echo $value['desc']; ?>
        </td>
      </tr>
      <?php
      break;

      default:
      break;
    }
  }
  ?>

  </table>

  <p class="submit">
    <input name="save" type="submit" value="Save changes" class="button-primary" />
    <input type="hidden" name="action" value="save" />
  </p>

  </form>

  <form method="post">
    <?php wp_nonce_field('theme-reset'); ?>
    <p class="submit">
      <input name="reset" type="submit" value="Reset" />
      <input type="hidden" name="action" value="reset" />
    </p>
  </form> 

بعد ذلك أضف الوظيفة في function.php التي تستدعي شريط التمرير إذا تم تحديد المربع.

<?php

function cool_theme_slider_option() {
  // load the custom options
  global $themeoptions;
  foreach ($themeoptions as $value) {
    $$value['id'] = get_option($value['id'], $value['std']);
  }

     if ($show_featured_slider  == 'true') {

        locate_template( array( 'includes/slider.php'), true )

     }
} // end function

add_action('wp_head', 'cool_theme_slider_option');

?>

لم يتم التحقق من هذا الرمز للتأكد من أنه يعمل تمامًا كما هو موضح ولكنه يهدف إلى إظهار مثال لاستخدام خيار مربع اختيار في نسختك.

2
Chris_O