Ben, özellikle özel yazı türleri desteği ile, ID tarafından mesajlar aramak için bir yol arıyorum. Bu işlevselliği sağlayan bir eklenti olmasını umuyordum, ama hiçbir şey bulamadım. Herhangi bir fikir çok takdir edilecektir, teşekkür ederim.
Ben, özellikle özel yazı türleri desteği ile, ID tarafından mesajlar aramak için bir yol arıyorum. Bu işlevselliği sağlayan bir eklenti olmasını umuyordum, ama hiçbir şey bulamadım. Herhangi bir fikir çok takdir edilecektir, teşekkür ederim.
Yanıtlar:
Kimliğe göre neden sorgulamak istediğinizi anladığımdan emin değilim, ancak hacky bir şekilde mümkün olduğunu söyledi (basit olduğu için bu yöntemi seviyorum).
add_action( 'parse_request', 'idsearch' );
function idsearch( $wp ) {
global $pagenow;
// If it's not the post listing return
if( 'edit.php' != $pagenow )
return;
// If it's not a search return
if( !isset( $wp->query_vars['s'] ) )
return;
// If it's a search but there's no prefix, return
if( '#' != substr( $wp->query_vars['s'], 0, 1 ) )
return;
// Validate the numeric value
$id = absint( substr( $wp->query_vars['s'], 1 ) );
if( !$id )
return; // Return if no ID, absint returns 0 for invalid values
// If we reach here, all criteria is fulfilled, unset search and select by ID instead
unset( $wp->query_vars['s'] );
$wp->query_vars['p'] = $id;
}
Daha sonra tek yapmanız gereken, #
sayısal kimliğin önündeki (karma) önekini kullanarak normal arama kutusunu kullanarak arama yapmaktır .
#123
.. postayı 123 kimliğiyle döndürür.
Bunu yapmak için alınabilecek daha karmaşık yollar olduğuna eminim, ancak bir karma ile başlayan başlıklara sahip çok fazla mesajınız yoksa, bu yaklaşımla ilgili herhangi bir sorun görmüyorum (ancak her zaman hash'i değiştirebilirsiniz) başka bir karakter).
Umarım yardımcı olur. :)
unset()
Aşağıdaki çağrıyı güncelleyin .. unset( $wp->query_vars['s'], $_GET['s'] );
ve arama terim metin kimlik arama yaparken kaybolacak .. ps yardım etmekten mutluluk duyuyoruz .. :)
get_search_query
filtrelemek mümkün. add_filter( 'get_search_query', function() { return $_GET['s']; } );