• پایان فعالیت بخشهای انجمن: امکان ایجاد موضوع یا نوشته جدید برای عموم کاربران غیرفعال شده است

راهنمایی در تغییر یک کد

reza_yki

Registered User
تاریخ عضویت
4 آگوست 2013
نوشته‌ها
106
لایک‌ها
23
سلام به همه
من یه کد دارم که صفحه ساز هست یعنی می تونی به تعداد دلخواه دسته دلخواهت رو انتخاب کنی و در صفحه مورد نظرت نمایش بدی من مشکلم اینه که این از دسته پیش فرض وردپرس دسته های رو فراخونی می کنه چطوری کاری کنم که از تاکسونومی شخصیم یعنی blog_category فراخوانی کنه؟
کد:
if ( ! isset( $content_width ) ) $content_width = 838;
function et_homepage_builder_page() {
        $builder_page = add_theme_page( esc_html__( 'صفحه ساز', 'fanoos' ), esc_html__( 'صفحه ساز ', 'fanoos' ), 'switch_themes', 'et_fanoos_homepage_builder', 'et_homepage_builder_interface' );
        if ( isset( $_GET['page'] ) && 'et_fanoos_homepage_builder' === $_GET['page'] && isset( $_POST['et_hb_action'] ) )
  et_homepage_builder_save_data();
add_action( "admin_print_scripts-{$builder_page}", 'et_homepage_builder_admin_js' );
add_action( "admin_print_styles-{$builder_page}", 'et_homepage_builder_admin_css' );
}
add_action( 'admin_menu', 'et_homepage_builder_page' );
if ( ! function_exists( 'et_homepage_builder_admin_js' ) ) :
function et_homepage_builder_admin_js() {
wp_enqueue_script( 'jquery-ui-sortable' );
wp_enqueue_script( 'et-homepage-builder-js', get_template_directory_uri() . '/js/et_homepage_builder_admin.js', array( 'jquery' ), '1.0', true );
wp_localize_script( 'et-homepage-builder-js', 'et_hb_options', array(
  'ajaxurl'      => admin_url( 'admin-ajax.php' ),
  'et_hb_nonce' => wp_create_nonce( 'et_hb_nonce' ),
) );
}
endif;
if ( ! function_exists( 'et_homepage_builder_admin_css' ) ) :
function et_homepage_builder_admin_css() {
wp_enqueue_style( 'et-homepage-builder', get_template_directory_uri() . '/css/et_homepage_builder_admin.css' );
}
endif;
function et_nexus_add_module(){
if ( ! wp_verify_nonce( $_POST['et_hb_nonce'], 'et_hb_nonce' ) )
  die(-1);
$et_module_type = sanitize_text_field( $_POST['et_module_type'] );
$et_modules_number = (int) $_POST['et_modules_number'];
et_generate_module( $et_module_type, $et_modules_number );
die();
}
add_action( 'wp_ajax_et_add_module', 'et_nexus_add_module' );
function et_recent_module_add_posts() {
if ( ! wp_verify_nonce( $_POST['et_hb_nonce'], 'et_hb_nonce' ) )
  die(-1);
$category = $_POST['post_type'];
$posts_number = $_POST['number'];
$offset = $_POST['offset'];
$args = array(
  'post_type' => 'blog',
  'ignore_sticky_posts' => 1,
  'posts_per_page'        => (int) $posts_number,
  'offset'                        => (int) $offset,
  'post_status'          => 'publish',
);
if ( 'all' !== $category )
  $args['blog'] = (int) $category;
$et_recent_posts_query = new WP_Query( apply_filters( 'et_recent_posts_query_args', $args ) );
if ( $et_recent_posts_query->have_posts() ) :
  while ( $et_recent_posts_query->have_posts() ) : $et_recent_posts_query->the_post();
   get_template_part( 'includes/recent_module', 'home' );
  endwhile;
endif;
wp_reset_postdata();
die();
}
add_action( 'wp_ajax_et_recent_module_add_posts', 'et_recent_module_add_posts' );
add_action( 'wp_ajax_nopriv_et_recent_module_add_posts', 'et_recent_module_add_posts' );
if ( ! function_exists( 'et_nexus_get_modules' ) ) :
function et_nexus_get_modules() {
$all_categories = get_categories( 'hide_empty=1' );
$site_cats['all'] = __( 'تمام موضوعات', 'fanoos' );
foreach ( $all_categories as $category ) {
  $site_cats[$category->cat_ID] = $category->cat_name;
  $cats_ids[] = $category->cat_ID;
}
$all_categories = $site_cats;
unset( $all_categories['all'] );
$modules = array(
'post_type' => 'blog',
  'recent_posts' => array(
   'category' => array(
        'title'   => __( 'انتخاب موضوع', 'fanoos' ),
        'type'     => 'select',
        'options'       => $site_cats,
        'validation' => 'number',
   )/*,
   'number' => array(
        'title'   => __( 'تعداد قابل نمایش', 'fanoos' ),
        'type'     => 'input',
        'validation' => 'number',
        'std'           => 3,
   ),*/
  ),
);
return apply_filters( 'et_nexus_homepage_modules', $modules );
}
endif;
if ( ! function_exists( 'et_generate_module' ) ) :
function et_generate_module( $type, $modules_number, $settings = array() ) {
$options_slug = 'modules[' . $modules_number . ']';
$et_nexus_modules = et_nexus_get_modules();
echo '<div class="et_module et_module_' . esc_attr( $type ) . '">';
if ( 'recent_posts' === $type )
  $et_module_name = __( 'آخرین پست ها', 'fanoos' );
echo ' <h3>' . esc_html( $et_module_name ) . '</h3>';
echo ' <input type="hidden" name="' . $options_slug . '[type]" value="' . esc_attr( $type ) . '" />';
foreach( $et_nexus_modules[$type] as $module_key => $module_option ) {
  echo '<h4>' . esc_html( $module_option['title'] ) . '</h4>';
  if ( 'select' === $module_option['type'] ) {
   printf( '<select name="%s">',
        esc_attr( $options_slug . "[{$module_key}]" )
   );
   foreach( $module_option['options'] as $option_key => $option )
        printf( '<option value="%s" %s>%s</option>',
         esc_attr( $option_key ),
         ( isset( $settings[$module_key] ) ? selected( $settings[$module_key], $option_key, false ) : '' ),
         esc_html( $option )
        );
   echo '</select>';
  } elseif ( 'input' === $module_option['type'] ) {
   $default = isset( $module_option['std'] ) && ! isset( $settings[$module_key] ) ? $module_option['std'] : '';
   printf( '<input name="%s" type="text" value="%s" />',
        esc_attr( $options_slug . "[{$module_key}]" ),
        ( isset( $settings[$module_key] ) ? esc_attr( $settings[$module_key] ) : $default )
   );
  } elseif ( 'checkboxes' === $module_option['type'] ) {
   foreach( $module_option['options'] as $option_key => $option ) {
        printf( '<label class="et_hb_checkboxes"><input name="%s[]" type="checkbox" value="%s" %s /> %s</label>',
         esc_attr( $options_slug . "[{$module_key}]" ),
         esc_attr( $option_key ),
         ( isset( $settings[$module_key] ) ? checked( in_array( $option_key, $settings[$module_key] ), true , false ) : '' ),
         esc_html( $option )
        );
   }
  }
}
echo ' <a href="#" class="et_delete_module">' . __( 'حذف این دسته', 'fanoos' ) . '</a>';
echo '</div> <!-- .et_module -->';
}
endif;
if ( ! function_exists( 'et_homepage_builder_save_data' ) ) :
function et_homepage_builder_save_data() {
if ( ! current_user_can( 'switch_themes' ) )
  return;
check_admin_referer( 'et_hb_nonce' );
if ( isset( $_POST['modules'] ) ) {
  update_option( 'et_homepage_builder_modules', $_POST['modules'] );
  echo ' <div id="setting-error-settings_updated" class="updated settings-error">
         <p><strong>' . __( 'تنظیمات ذخیره شد.', 'fanoos' ) . '</strong></p></div>';
} else {
  delete_option( 'et_homepage_builder_modules' );
}
}
endif;
if ( ! function_exists( 'et_homepage_builder_interface' ) ) :
function et_homepage_builder_interface() {
$all_modules = get_option( 'et_homepage_builder_modules' );
?>
<div class="wrap">
  <h2 id="et_page_title"><?php esc_html_e( 'تظیمات صفحه اصلی', 'fanoos' ); ?></h2>
  <div id="et_modules_select">
   <a href="#" data-type="recent_posts"><?php esc_html_e( 'اضافه کردن آخرین پست های یک دسته خاص', 'fanoos' ); ?></a>   
  </div>
  <form id="et_homepage_builder" method="post">
   <div id="et_modules">
   <?php
   if ( $all_modules ) {
        $i = 1;
        foreach ( $all_modules as $module ) {
         et_generate_module( $module['type'], $i, $module );
         $i++;
        }
   }
   ?>
   </div>
   <?php submit_button(); ?>
   <input type="hidden" name="et_hb_action" value="save_homepage_layout" />
   <?php wp_nonce_field( 'et_hb_nonce' ); ?>
  </form>
</div>
<?php }
endif;
?>
ممنون می شم پاسخ بدید
 
بالا