WP İş Yöneticisini Özelleştirme: Kişiselleştirilmiş Arama Seçenekleri

İş listeleme sitesi kurmanın en hızlı yollarından biri WordPress'tir. Bunu WordPress ile yapmanın birkaç yolu olsa da, WP Job Manager bu WordPress'e hafif ve akıcı bir eklenti olan WP Job Manager, WordPress sitenize iş panosu benzeri bir işlevsellik ekleyen kısa kod tabanlı bir eklentidir. Bu özellikle benzersiz bir yaklaşımdır, kısa kodların kullanılması, eklentinin tüm temalarla son derece uyumlu olduğunu ve minimum çabayla kurulabileceğini ima eder.
WP Job Manager, kategorinizi, konumunuzu ve iş etiketlerinizi yazdığınız ve arama yaptığınız varsayılan bir iş arama çubuğu sağlar.

Ve sonuçları aynı sayfada alırsınız.
Bu birçok kez arzu edilmeyebilir. Ana sayfa kutsaldır, tek bir sayfada özetlenen tüm web sitenizdir. İşletmenizin yüzü . Gerçekten evinizde bir dizi arama sonucu ister miydiniz?
İş arama çubuğunuzun ana sayfanızda ve arama sonuçlarının başka bir sayfada görüntülenmesini istiyorsanız ne olur?
Biraz özel kodlama ve bu çok kolay. İşte yapmanız gerekenler.
Aşama 1
İlk olarak, gerekli herhangi bir sayfada arama formunu (arama çubuğu, konum seçici ve arama düğmesi) görüntülemek için kısa kod oluşturmanız gerekir. Aynı kod şöyle olacaktır:
add_shortcode( 'search_form' , 'custom_job_form' );?>
Adım 2
Ardından, yukarıda oluşturulan kısa kodu kullanacak ve arama formunu aşağıdaki gibi görüntüleyecek bir geri arama tanımlarız:
<?php işlev custom_job_form () { $args = dizi ( 'hide_empty' => yanlış , 'fields' => 'id=>name' , ); $action_page_id = get_option( 'job_manager_jobs_page_id' ); $action_page_url = get_page_link( $action_page_id ); $dizi_get_data = dizi_filtresi ( $_GET ); $job_regions = get_terms( 'job_listing_region' , $args ); $anahtar kelime = "" ; if ( ! boş ( $arr_get_data )) { $keywords = isset ( $arr_get_data [ 'search_keywords' ])? $arr_get_data [ 'search_keywords' ]: "" ; $konum = isset ( $arr_get_data [ 'arama_konumu' ])? $arr_get_data [ 'arama_konumu' ] : "" ; $comapny_name = isset ( $arr_get_data [ 'search_company' ])? $arr_get_data [ 'arama_sirketi' ] : "" ; $disability = isset ( $arr_get_data [ 'search_disability' ] ) ? $arr_get_data [ 'search_disability' ] : "" ; } $s_categories = get_option( 'resume_manager_enable_categories' ); ob_start (); ?> <script type="metin/javascript"> jQuery(belge).ready(function() { jQuery('#search_location').chosen(); jQuery('.chosen-single').css("border-radius","6px"); jQuery('.chosen-single').css("box-shadow","yok"); }); </script> <form class="wdm_job_filters" method="GET" action="<?php echo $action_page_url ; ?>" name="jobify_search_jobs" onsubmit="jQuery(this).unbind('gönder');"> <div class="search_jobs wdm_search_jobs"> div class="satır wdm_row"> <div class="<?php echo $s_categories ? 'col-md-6' : 'col-md-6' ; ?> wdm_search_keywords wdm_form_div"> <label for="search_keywords"><?php _e( 'Anahtar Kelimeler' , 'işleme' ); ?></etiket> <input type="text" name="search_keywords" placeholder="<?php esc_attr_e( 'Tüm İşler' , 'jobify' ); ?>" value="<?php echo esc_attr( $keywords ); ?>" / > </div> <?php if ( ! boş ( $job_regions ) ) { ?> <div class="<?php echo $s_categories ? 'col-md-6' : 'col-md-6' ; ?> search_location wdm_form_div"> <label for="search_location"><?php _e( 'Location' , 'jobify' ); ?></etiket> <div class="arama_kategorisini seçin"> <select class="postform select" name="arama_konumu"> <option value=""><?php _e( 'Herhangi Bir Konum' , 'jobify' ); ?></seçenek> <?php foreach ( $job_regions as $loc_key => $loc_val ) { echo "<seçenek değeri='" . $loc_key . "' " . $seçildi . ">" . $loc_val . "</seçenek>" ; } ?> </select> </div> </div> <?php } ?> <div class="col-md-6 wdm_form_div wdm_submit_div"> <label for="search_submit">Ara</label> <input type="submit" name="submit_jobify_form" class ="wdm-form-submit"value="<?php echo esc_attr_e( 'Ara' , 'jobify' ); ?>" /> </div> </div> </div> </form> <?php ob_get_clean () döndür ; } ?>
Böylece bir kullanıcı arama çubuğuna tıkladığında, kullanıcı tarafından girilen değerlerle birlikte yukarıda bahsedilen kısa kodu yerleştirdiğimiz sayfaya yönlendirilir.

Aşama 3
Kısa kod ve geri arama yerindeyken, şimdi sonuçların görüntülenmesi gereken bir sayfa ayarlamanız gerekir. WP İş Yöneticisi ayarları altındaki İş Listeleri Sayfası seçeneği, sonucun görüntülenmesini istediğiniz sayfa olarak mevcut sayfalardan herhangi birini (kısa kodun uygulandığı yer) seçmenize olanak tanır.

4. Adım
Seçilen sayfada değerler PHP kodu aracılığıyla alınır ve sayfadaki verileri işleyecek olan javascript koduna gönderilir.
PHP Kodu:
<?php add_action( 'job_manager_job_filters_start' , 'load_js' ); işlev yük_js () { if ( isset ( $_GET [ 'arama_konumu' ])) { $dizi_veri = dizi (); if ( isset ( $_GET [ 'arama_konumu' ])) { $arr_data [ 'arama_konumu' ] = $_GET [ 'arama_konumu' ]; } wp_register_script( 'wdm_process_script' , get_stylesheet_directory_uri() . '/assets/js/OnLoad-process-url.js' , dizi ( 'jquery' )); wp_enqueue_script( 'wdm_process_script' ); wp_localize_script( 'wdm_process_script' , 'wdm_obj' , $dizi_verileri ); } } ?>
Adım 5
Kullanıcı tarafından girilen değerlerin wdm_obj içine sarılması ve localize_script kullanılarak javascript koduna gönderilmesi gerekir. Javascript kodu OnLoad-process-url.js javascript dosyasına yazılmıştır ve aşağıdaki gibidir:
jQuery(belge).ready(function() {
if (jQuery( ".job_listings" ). uzunluk > 0 ) {
işlev UpdateRegionFunction () {
setZaman aşımı (
function(){ jQuery( "#search_region" ).val( '' + wdm_obj.search_location + '' );
jQuery ( ".chosen-single" ). tetik ( 'değişim' );
jQuery( '#arama_bölgesi' ). tetik ( 'seçilen:güncellendi' );
},
2000 );
}
if ( ! (jQuery.isEmptyObject(wdm_obj)))
{
UpdateRegionFunction();
}
}
});
Bununla ilgili. Aşağıdaki ekran görüntüsünden de anlaşılacağı gibi, artık iş arama sonuçlarını görüntüleyebileceğiniz, seçtiğiniz ayrı bir sayfanız var.

Umarım bu eğitim yardımcı olur. Aradığın şey değil mi? Yardımcı olabiliriz! Bize yazın, tek yapmanız gereken basit bir formu doldurmak. Sizi dinlemeyi çok isteriz.
ev borcu WordPress sitesi