Eklenti yazmaya çalıştım .
Aslında sanırım bir miktar yazdımda. Sayfa da Alfabetik listeleme yapabiliyor.
ve çalışıyor gibi de.
Sorun :Harf e tıklayınca sayfa bulunamadı diyor . Nerede Hata olabilir kodda ?
<?php
/*
Plugin Name: My Alphabet Filter
Description: Adds an alphabetical filter to list posts starting with a selected letter.
Version: 1.0
Author: TheAlfabet
*/
// Harf listesi k覺sa kodu
if ( ! defined( 'ABSPATH' ) ) {
die( 'You are not allowed to call this page directly.' );
}
function alphabet_filter_shortcode() {
$alphabet = range('A', 'Z');
$html = '<div class="alphabet-list">';
foreach ($alphabet as $letter) {
$html .= '<a href="' . add_query_arg('letter', $letter) . '">' . $letter . '</a> ';
}
$html .= '</div>';
return $html;
}
add_shortcode('alphabet_filter', 'alphabet_filter_shortcode');
// Harfe göre filtreleme
function filter_posts_by_letter($query) {
if (is_admin() || !$query->is_main_query() || !isset($_GET['letter']) || !preg_match("/^[A-Z]$/", $_GET['letter'])) {
return;
}
$letter = $_GET['letter'];
echo $letter ;
$query->set('orderby', 'title');
$query->set('order', 'ASC');
$query->set('meta_query', array(
array(
'key' => 'title',
'value' => '^' . $letter,
'compare' => 'REGEXP'
)
));
}
add_action('pre_get_posts', 'filter_posts_by_letter');
