Geri çağırış Lim10Ata\Flatix\xfwidgets::gethtml yanlışdır (error_invalid_class).

Foruma xoş gəldiniz 👋, Qonaq

Forum məzmununa və bütün xidmətlərimizə daxil olmaq üçün qeydiyyatdan keçməli və ya foruma daxil olmalısınız. Foruma üzv olmaq tamamilə pulsuzdur.

Qeydiyyatdan kec

Wordpress kömək lazımdır.

2

elcin235

Aktiv istifadeci
istifadeci
Qoşuldu
5 Yan 2023
Mesajlar
98
Reaksiya hesabı
22
Xallar
8
Web sayt
sstube.pro
Salam Wordpress üzəridə qurulan saytın ana səyfəsində 20 post göstərilir.Səyfənin altında isə diyər səyfələr keçid linki var.Məsələn:1.2.3.4.5 Mən sitəyriməki bu linkləri qaldırıb Daha çox lini ılavə edib.Aşağıdaki kodları saytıma əlavə etsəmdə Daha çox butona bastıktda heçbir funksiya işə düşmür.Zəhmət olmasa deyə bilərsiz nəyi səf edirım?

İlk növbədə index.php bu kodu əlavə edirəm
<div class="load-more-container">
<button id="load-more-btn" data-page="<?php echo esc_attr( $current_page ); ?>" data-max-pages="<?php echo esc_attr( $max_pages ); ?>">Daha Fazla Yükle</button>
</div>

Daha sora function.php bu kod əlavə edirəm
function modify_pagination($args) {
$args = (array) $args; // $args değişkenini bir diziye dönüştürüyoruz
$args['prev_text'] = __('Önceki Sayfa', 'textdomain');
$args['next_text'] = __('Daha Fazla', 'textdomain');
$args['mid_size'] = 1;
return $args;
}
add_filter('navigation_markup_template', 'modify_pagination');

Sonra, Daha çox yüklə düyməsinin funksionallığını aktivləşdirmək üçün JavaScript kodu əlavə edirəm. (AJAX çağırışı)
<script>
jQuery(function($) {
$('#load-more-btn').on('click', function(e) {
e.preventDefault();
var currentPage = parseInt($(this).data('page'));
var maxPages = parseInt($(this).data('max-pages'));
var nextPage = currentPage + 1;
if (nextPage <= maxPages) {
var ajaxurl = '<?php echo admin_url( "admin-ajax.php" ); ?>';
$.ajax({
type: 'POST',
url: ajaxurl,
data: {
action: 'load_more_posts',
current_page: currentPage,
next_page: nextPage
},
beforeSend: function() {
$('#load-more-btn').text('Yükleniyor...');
},
success: function(data) {
$('#load-more-container').before(data);
$('#load-more-btn').data('page', nextPage);
if (nextPage >= maxPages) {
$('#load-more-btn').remove();
} else {
$('#load-more-btn').text('Daha Fazla Yükle');
}
}
});
} else {
$('#load-more-btn').remove();
}
});
});
</script>
 
2

elcin235

Aktiv istifadeci
istifadeci
Qoşuldu
5 Yan 2023
Mesajlar
98
Reaksiya hesabı
22
Xallar
8
Web sayt
sstube.pro
Function.php ya loadmore.js include edirəm

function load_more_scripts() {
wp_enqueue_script( 'load-more', get_stylesheet_directory_uri() . '/js/loadmore.js', array( 'jquery' ), '1.0.0', true );
}
add_action( 'wp_enqueue_scripts', 'load_more_scripts' );


Son olaraqda AJAX funksiyasını aktivləşdirmək üçün
function load_more_posts() {
$current_page = intval($_POST['current_page']);
$next_page = intval($_POST['next_page']);
$args = array(
'post_type' => 'post',
'posts_per_page' => 20,
'paged' => $next_page
);
$query = new WP_Query($args);
if ($query->have_posts()) {
while ($query->have_posts()) {
$query->the_post();
// Burada gösterilecek haberleri yazın
get_template_part( 'template-parts/content', get_post_format() );
}
wp_reset_postdata();
}
wp_die();
}
add_action('wp_ajax_load_more_posts', 'load_more_posts');
add_action('wp_ajax_nopriv_load_more_posts', 'load_more_posts');
 
2

elcin235

Aktiv istifadeci
istifadeci
Qoşuldu
5 Yan 2023
Mesajlar
98
Reaksiya hesabı
22
Xallar
8
Web sayt
sstube.pro
Load Mode Butona basdiqda heç bir reaksiya vermir.Bu kodlarada nəyi səf etmişəm?
 
M

mgalidertm

Guest
Load Mode Butona basdiqda heç bir reaksiya vermir.Bu kodlarada nəyi səf etmişəm?
Bu problemə çox vaxt loadmore.js faylının düzgün yüklənməməsi səbəb ola bilər. Bu fayl əvvəlki kod blokunda göstərildiyi kimi wp_enqueue_script() funksiyası ilə yüklənməlidir.

Həmçinin, load-more adlı skriptin adı load-more-btn adlı düymə ilə uyğun olmalıdır. Beləliklə, onu skriptin daxilindəki kodda $('#load-more') əvəzinə $('#load-more-btn') kimi dəyişdirmək lazımdır.

Nəhayət, qeyd edək ki, düzgün işləməsi üçün load_more_posts() funksiyası temanızın functions.php faylına əlavə edilməlidir.

Bütün bu addımları düzgün yerinə yetirsəniz, "Daha çox yüklə" düyməsini klikləyin və əlavə yazılar yüklənəcək.
 
2

elcin235

Aktiv istifadeci
istifadeci
Qoşuldu
5 Yan 2023
Mesajlar
98
Reaksiya hesabı
22
Xallar
8
Web sayt
sstube.pro
Bu problemə çox vaxt loadmore.js faylının düzgün yüklənməməsi səbəb ola bilər. Bu fayl əvvəlki kod blokunda göstərildiyi kimi wp_enqueue_script() funksiyası ilə yüklənməlidir.

Həmçinin, load-more adlı skriptin adı load-more-btn adlı düymə ilə uyğun olmalıdır. Beləliklə, onu skriptin daxilindəki kodda $('#load-more') əvəzinə $('#load-more-btn') kimi dəyişdirmək lazımdır.

Nəhayət, qeyd edək ki, düzgün işləməsi üçün load_more_posts() funksiyası temanızın functions.php faylına əlavə edilməlidir.

Bütün bu addımları düzgün yerinə yetirsəniz, "Daha çox yüklə" düyməsini klikləyin və əlavə yazılar yüklənəcək.
Məlumata görə təşəkkür edirəm yenə yoxlayacam.
 
Üst