reza_yki 103 ارسال شده در آذر 94 گزارش بازنشر ارسال شده در آذر 94 سلام به همهمن یه کد دارم که صفحه ساز هست یعنی می تونی به تعداد دلخواه دسته دلخواهت رو انتخاب کنی و در صفحه مورد نظرت نمایش بدی من مشکلم اینه که این از دسته پیش فرض وردپرس دسته های رو فراخونی می کنه چطوری کاری کنم که از تاکسونومی شخصیم یعنی 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;?>کمک کنید نقل قول لینک به ارسال
imanfakhar 26231 ارسال شده در آذر 94 گزارش بازنشر ارسال شده در آذر 94 بجای $all_categories = get_categories( 'hide_empty=1' );بگذارید $all_categories = get_terms( 'blog', 'hide_empty=1' ); نقل قول لینک به ارسال
reza_yki 103 ارسال شده در آذر 94 مالک گزارش بازنشر ارسال شده در آذر 94 بجای $all_categories = get_categories( 'hide_empty=1' );بگذارید$all_categories = get_terms( 'blog', 'hide_empty=1' );آیا منظور از blog همون اسم تاکسونومی هست چون چیزی نمیازهوقتی هم اسم تاکسونومی رو وارد می کنم یه فیلد خالی نشون میده نقل قول لینک به ارسال
imanfakhar 26231 ارسال شده در آذر 94 گزارش بازنشر ارسال شده در آذر 94 blog اسم تاکسونامیتونه این کدتون دست خورده است و مشکل دارهمثلا یکجا $category = $_POST['post_type'];قرار داده که اشتباهه کدی که باهاش دسته بندیهاتون رو بدون مشکل احضار می کنه رو ویرایش کنید و فقط کاری که عرض شد رو روش انجام بدید نمایش می ده اطلاعات بیشتر در مورد تابع رو هم بخونید https://codex.wordpress.org/Function_Reference/get_terms نقل قول لینک به ارسال
reza_yki 103 ارسال شده در آذر 94 مالک گزارش بازنشر ارسال شده در آذر 94 (ویرایش شده) blog اسم تاکسونامیتونه این کدتون دست خورده است و مشکل داره مثلا یکجا $category = $_POST['post_type']; قرار داده که اشتباهه کدی که باهاش دسته بندیهاتون رو بدون مشکل احضار می کنه رو ویرایش کنید و فقط کاری که عرض شد رو روش انجام بدید نمایش می ده اطلاعات بیشتر در مورد تابع رو هم بخونید https://codex.wordpress.org/Function_Reference/get_terms من از پست تایپ خودم به اسم blogو تاکسونومی شخصی خودم به اسم blog_category استفاده می کنمگفتم شاید کمکی بکنهاینم کدی کامل که دسته بندی پیش فرض رو نشون میده<?phpif ( ! 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['category'];$posts_number = $_POST['number'];$offset = $_POST['offset'];$args = array( 'ignore_sticky_posts' => 1, 'posts_per_page' => (int) $posts_number, 'offset' => (int) $offset, 'post_status' => 'publish',);if ( 'all' !== $category ) $args['cat'] = (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( '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;?> ویرایش شده آذر 94 توسط reza_yki نقل قول لینک به ارسال
imanfakhar 26231 ارسال شده در آذر 94 گزارش بازنشر ارسال شده در آذر 94 برای اینکه مطالب پست تایپ blog و تاکسونامی blog_category : (تست کنید) <?phpif ( ! 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['category'];$posts_number = $_POST['number'];$offset = $_POST['offset'];$args = array( 'post_type' => array('blog'), 'ignore_sticky_posts' => 1, 'posts_per_page' => (int) $posts_number, 'offset' => (int) $offset, 'post_status' => 'publish',);if ( 'all' !== $category ) $args['cat'] = (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_terms( 'blog_category','hide_empty=1' );$site_cats['all'] = __( 'تمام موضوعات', 'fanoos' );foreach ( $all_categories as $term ) { $site_cats[$term->term_id] = $term->name; $cats_ids[] = $term->term_id;}$all_categories = $site_cats;unset( $all_categories['all'] );$modules = array( '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;?> 1 نقل قول لینک به ارسال
reza_yki 103 ارسال شده در آذر 94 مالک گزارش بازنشر ارسال شده در آذر 94 (ویرایش شده) برای اینکه مطالب پست تایپ blog و تاکسونامی blog_category : (تست کنید) 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['category']; $posts_number = $_POST['number']; $offset = $_POST['offset']; $args = array( 'post_type' => array('blog'), 'ignore_sticky_posts' => 1, 'posts_per_page' => (int) $posts_number, 'offset' => (int) $offset, 'post_status' => 'publish', ); if ( 'all' !== $category ) $args['cat'] = (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_terms( 'blog_category','hide_empty=1' ); $site_cats['all'] = __( 'تمام موضوعات', 'fanoos' ); foreach ( $all_categories as $term ) { $site_cats[$term->term_id] = $term->name; $cats_ids[] = $term->term_id; } $all_categories = $site_cats; unset( $all_categories['all'] ); $modules = array( '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 ''; if ( 'recent_posts' === $type ) $et_module_name = __( 'آخرین پست ها', 'fanoos' ); echo ' ' . esc_html( $et_module_name ) . ''; echo ' '; foreach( $et_nexus_modules[$type] as $module_key => $module_option ) { echo ' ' . esc_html( $module_option['title'] ) . ''; if ( 'select' === $module_option['type'] ) { printf( '', esc_attr( $options_slug . "[{$module_key}]" ) ); foreach( $module_option['options'] as $option_key => $option ) printf( '%s', esc_attr( $option_key ), ( isset( $settings[$module_key] ) ? selected( $settings[$module_key], $option_key, false ) : '' ), esc_html( $option ) ); echo ''; } elseif ( 'input' === $module_option['type'] ) { $default = isset( $module_option['std'] ) && ! isset( $settings[$module_key] ) ? $module_option['std'] : ''; printf( '', 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( ' %s', 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 ' ' . __( 'حذف این دسته', 'fanoos' ) . ''; echo '{C}'; } 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 '' . __( 'تنظیمات ذخیره شد.', 'fanoos' ) . ''; } 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' ); ?> نتونستم فقط با یه کلیک خشک و خالی از شما تشکر کنمبسیار بسیار ممنون خیلی به من لطف کردید درست شد. ویرایش شده آذر 94 توسط reza_yki 1 نقل قول لینک به ارسال
reza_yki 103 ارسال شده در آذر 94 مالک گزارش بازنشر ارسال شده در آذر 94 (ویرایش شده) ببخشید حالا یه مشکل دیگه، تو قالب مطالب انتخابی رو نمیاره میشه اینم یه زحمت بکشید و نگاه کنید<div class="box-Other"> <?php$all_modules = get_option( 'et_homepage_builder_modules' );if ( $all_modules ) :foreach ( $all_modules as $module ) {switch ( $module['type'] ) {case 'recent_posts' : ?> <divclass="box-post-other"> <divclass="haed-post-other"></div> <?php$args = array('offset' =>'0','posts_per_page' => 1,);if ( 'all' !== $module['category'] )$args['cat'] = (int) $module['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(); ?> <divclass="box-img-other"> <?php the_post_thumbnail('Special'); ?> <h3> <a href="<?php the_permalink(); ?>"> <?php the_title(); ?> </a></h3> </div> <?php endwhile;endif;wp_reset_postdata();?> <ul> <?php$my_query = new WP_Query(array('order' =>'DESC','posts_per_page' => 6,'cat' => (int) $module['category'],'offset' =>'1','no_found_rows' => 1,));?> <?phpwhile ($my_query->have_posts()):$my_query->the_post();$do_not_duplicate = $post->ID;?> <li> <?php the_post_thumbnail('smallimg'); ?> <ahref="<?php the_permalink(); ?>"> <h4> <?php the_title(); ?> </h4> </a></li> <?php $et_category = 'all' === $module['category'] ? : get_cat_name( $module['category'] ); ?> <?php $mycategory_id = get_cat_ID( $echo=$et_category); $mycategory_link = get_category_link( $mycategory_id ); endwhile; ?> <div class="title-haed-other"> <a href="<?php echo esc_url( $mycategory_link ); ?>"> <?php$et_category = 'all' === $module['category']?: get_cat_name( $module['category'] );printf($et_category);?> </a></div> </ul> </div> <?phpbreak;}}elseif ( current_user_can( 'publish_posts' ) ) : // if no modules set ?> <?phpendif;?></div> ویرایش شده آذر 94 توسط reza_yki نقل قول لینک به ارسال
imanfakhar 26231 ارسال شده در آذر 94 گزارش بازنشر ارسال شده در آذر 94 این رو هم پیدا کنید تو کدتون $my_query = new WP_Query(array('order' =>'DESC','posts_per_page' => 6,'cat' => (int) $module['category'],'offset' =>'1','no_found_rows' => 1,));?>و تغییر بدید به $my_query = new WP_Query(array('post_type' => array('blog'),'order' =>'DESC','posts_per_page' => 6,'tax_query' => array( array( 'taxonomy' => 'blog', 'field' => 'term_id', 'terms' =>(int) $module['category'], ),),'offset' =>'1','no_found_rows' => 1,));?> 1 نقل قول لینک به ارسال
reza_yki 103 ارسال شده در آذر 94 مالک گزارش بازنشر ارسال شده در آذر 94 این رو هم پیدا کنید تو کدتون $my_query = new WP_Query(array( 'order' =>'DESC', 'posts_per_page' => 6, 'cat' => (int) $module['category'], 'offset' =>'1', 'no_found_rows' => 1, )); ?> و تغییر بدید به $my_query = new WP_Query(array( 'post_type' => array('blog'), 'order' =>'DESC', 'posts_per_page' => 6, 'tax_query' => array( array( 'taxonomy' => 'blog', 'field' => 'term_id', 'terms' =>(int) $module['category'], ), ), 'offset' =>'1', 'no_found_rows' => 1, )); ?> استاد شرمنده یه زحمت دیگه دارم، من دو تا حلقه برای نمایش دارم یکی رو که شما تو قسمت قبلی درستش کردید، این یکی رو چطوری بنویسم:$args = array('offset' =>'0','posts_per_page' => 1,); نقل قول لینک به ارسال
imanfakhar 26231 ارسال شده در آذر 94 گزارش بازنشر ارسال شده در آذر 94 بجای$args = array('offset' =>'0','posts_per_page' => 1,);if ( 'all' !== $module['category'] )$args['cat'] = (int) $module['category'];بگذارید $args = array('post_type' => array('blog'),'offset' =>'0','posts_per_page' => 1,);if ( 'all' !== $module['category'] )$args['tax_query'] = array(array('taxonomy' => 'blog_category','field' => 'term_id','terms' =>(int) $module['category'],),);در ضمن توی کد قبلی هم بجای'taxonomy' => 'blog_category',نوشتم'taxonomy' => 'blog',که اصلاحش کنید 1 نقل قول لینک به ارسال
reza_yki 103 ارسال شده در آذر 94 مالک گزارش بازنشر ارسال شده در آذر 94 بجای$args = array('offset' =>'0','posts_per_page' => 1,);if ( 'all' !== $module['category'] )$args['cat'] = (int) $module['category'];بگذارید$args = array('post_type' => array('blog'),'offset' =>'0','posts_per_page' => 1,);if ( 'all' !== $module['category'] )$args['tax_query'] = array(array('taxonomy' => 'blog_category','field' => 'term_id','terms' =>(int) $module['category'],),);در ضمن توی کد قبلی هم بجای'taxonomy' => 'blog_category',نوشتم'taxonomy' => 'blog',که اصلاحش کنیدبا صبر وپاسخاتون منو شرمنده کردید سپاس 1 نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .