Destination Manager Plugin Derails
यो फाइल ourrasuwa-destination-manager.php एउटा वर्डप्रेस प्लगइन हो जसले रसुवा जिल्लाका पर्यटकीय, धार्मिक, ऐतिहासिक र सांस्कृतिक स्थलहरूको विस्तृत डाटाबेस व्यवस्थापन गर्छ। तल यसको पूर्ण कार्यप्रणाली, संरचना र प्रमुख विशेषताहरू नेपालीमा व्याख्या गरिएको छ।
१. प्लगइनको मूल उद्देश्य
-
-
कस्टम पोस्ट टाइप
our_destinationसिर्जना गरी गन्तव्यहरू थप्न, सम्पादन गर्न, मेटाउन सकिन्छ। -
पाँचवटा ट्याक्सोनोमी (वर्गीकरण) –
स्थानीय तह,प्रकार,गाउँ/शहर,टोल/चोक,ट्याग– द्वारा गन्तव्यहरूलाई वर्गीकृत गरिन्छ। -
सातवटा ट्याब सहितको मेटाबक्स (परिचय, आकर्षण, कसरी पुग्ने, हेरो स्लाइडर, सन्दर्भ स्रोत, भिडियो, सेटिङ) मार्फत विस्तृत जानकारी भर्न सकिन्छ।
-
फ्रन्टेन्ड मा आकर्षक एकल पृष्ठ, आर्काइभ, ट्याक्सोनोमी पृष्ठहरू, तथा नक्सा, फिल्टर, विजेट, विकिलिङ्क जस्ता सुविधाहरू प्रदान गर्छ।
-
२. प्लगइन फाइल संरचना र प्रमुख कार्यहरू
मुख्य फाइल ourrasuwa-destination-manager.php
-
-
प्लगइन हेडर, सुरक्षा जाँच (
ABSPATH)। -
स्थिरांक (
OURRASUWA_PLUGIN_DIR,OURRASUWA_PLUGIN_URL) परिभाषा। -
सबै आवश्यक फाइलहरू (post-type, metabox, save-logic, sidebar, widgets, ajax-handler, wikilink) समावेश।
-
एडमिन एसेट्स (CSS/JS) इन्क्यु, साइड मेटाबक्स हटाउने, कमेन्ट स्वतः खोल्ने।
-
टेम्प्लेट इन्क्लुड – एकल, आर्काइभ, ट्याक्सोनोमी पृष्ठहरूको लागि कस्टम टेम्प्लेट लोड गर्ने फिल्टर।
-
क्वेरी फिल्टर –
pre_get_postsमार्फत आर्काइभ पृष्ठमाGETप्यारामिटर अनुसारtax_queryलागू गर्ने। -
म्याप फिल्टर –
map_local_bodyरmap_place_typeलाई पनि क्वेरीमा समावेश गर्ने। -
ट्याक्सोनोमी टेम्प्लेटहरू –
local_body,place_type,town_city,tol_chokको लागि छुट्टै टेम्प्लेट समर्थन।
-
अनइन्स्टल uninstall.php
-
-
प्लगइन Delete गर्दा स्वतः चल्छ।
-
our_destinationपोस्ट टाइपका सबै पोस्ट, मेटा डाटा (intro, attraction, slider, map, video, sources) र सम्बन्धित ट्याक्सोनोमी टर्महरू स्थायी रूपमा मेटाउँछ।
-
पोस्ट टाइप र ट्याक्सोनोमी post-type.php
-
-
पोस्ट टाइप:
our_destination(public, has_archive, supports: title, author, thumbnail)। -
ट्याक्सोनोमीहरू:
-
local_body(स्थानीय तह) -
place_type(प्रकार) -
town_city(गाउँ/शहर) -
tol_chok(टोल/चोक) -
place_tag(ट्याग)
-
-
मेटाबक्स metabox.php र tabs/*.php
-
-
७ ट्याब भएको मेटाबक्स थप्छ।
-
प्रत्येक ट्याब (introduction, attractions, how-to-reach, heroslider, resources, videos, settings) को आफ्नै
tabs/फोल्डरमा PHP फाइल हुन्छ। -
ट्याब स्विचिङ – जाभास्क्रिप्टले
localStorageमा एक्टिभ ट्याब सेभ गर्छ, पेज रिफ्रेस वा सेभ गर्दा पनि खुलिरहन्छ। -
Repeatable फिल्डहरू (जस्तै परिचय, आकर्षण) – प्रयोगकर्ताले धेरै आइटम थप्न, मेटाउन, ड्र्याग गरी क्रम मिलाउन सक्छ।
-
प्रत्येक आइटम मा शीर्षक, सामग्री (TinyMCE एडिटर), हाइलाइट बक्स (टगल गर्न मिल्ने) हुन्छ।
-
हेरो स्लाइडर – छविहरू अपलोड, स्लाइडको शीर्षक/विवरण, स्लाइडर साइज/एनिमेसन, लाइभ प्रिभ्यू (७०% स्लाइडर + ३०% साइड सामग्री) देखिन्छ।
-
भिडियो ट्याब – युट्युब लिङ्क राख्दा स्वतः एम्बेड प्रिभ्यू देखाउँछ।
-
सेटिङ ट्याब – फिचर इमेज अपलोड, ट्याक्सोनोमी चेकबक्स, लेखक छनौट, पोस्ट स्थिति (प्रकाशित/ड्राफ्ट)।
-
सेभ लाजिक save-logic.php
-
-
दुई सेभ कार्यहरू:
-
ourrasuwa_save_destination_meta_all– सबै ट्याबका मेटा डाटा सेभ गर्छ (nonce, autosave, permission जाँच पछि)। -
ourrasuwa_save_destination_settings– फिचर इमेज, लेखक, स्थिति, र ट्याक्सोनोमी (tax_inputवाourrasuwa_taxप्रयोग गरी) सेभ गर्छ।
-
-
ट्याक्सोनोमी सेभ –
wp_set_object_termsप्रयोग गरी पुराना टर्महरू हटाएर नयाँ सेट गर्छ।
-
विकिलिङ्क ourrasuwa-wikilink.php
-
-
फ्रन्टेन्ड – कन्टेन्टमा
पोस्ट शीर्षकलाई लिङ्क मा बदल्छ (पहिले slug, त्यसपछि title, अन्त्यमा LIKE खोजी)। -
Gutenberg Autocomplete –
</code><span class=""> टाइप गर्दा १ अक्षरदेखि नै सुझाव देखाउँछ (REST API मार्फत)।</span></p> </li> <li style="margin-top: 6px;"> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 0px 0px;"><span style="font-weight: 600;">क्लासिक सम्पादक</span><span class=""> – </span><code style="box-sizing: border-box; font-variant: normal; font-stretch: 100%; line-height: 22px; font-optical-sizing: auto; font-size-adjust: none; font-kerning: auto; font-feature-settings: normal; font-variation-settings: normal; font-language-override: normal; font-family: Menlo, Monaco, Consolas, 'Cascadia Mono', 'Ubuntu Mono', 'DejaVu Sans Mono', 'Liberation Mono', 'JetBrains Mono', 'Fira Code', Cousine, 'Roboto Mono', 'Courier New', Courier, sans-serif, system-ui; background-color: #ebeef2; border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 0.875em !important;">🔗</code><span class=""> क्विकट्याग थप्छ।</span></p> </li> <li style="margin-top: 6px;"> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 0px 0px;"><span style="font-weight: 600;">REST API</span><span class=""> – </span><code style="box-sizing: border-box; font-variant: normal; font-stretch: 100%; line-height: 22px; font-optical-sizing: auto; font-size-adjust: none; font-kerning: auto; font-feature-settings: normal; font-variation-settings: normal; font-language-override: normal; font-family: Menlo, Monaco, Consolas, 'Cascadia Mono', 'Ubuntu Mono', 'DejaVu Sans Mono', 'Liberation Mono', 'JetBrains Mono', 'Fira Code', Cousine, 'Roboto Mono', 'Courier New', Courier, sans-serif, system-ui; background-color: #ebeef2; border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 0.875em !important;">ourrasuwa/v1/wikilink-search/<term></code><span class=""> एन्डपोइन्टले पोस्टहरू खोज्छ।</span></p> </li> </ul> </li> </ul> <hr style="background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.1); height: 1px; margin: 32px 0px; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; padding-left: 40px; border: medium none currentcolor;" /> <h3 style="font-style: normal; font-variant: normal; font-size-adjust: none; font-language-override: normal; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-stretch: normal; font-size: 20px; line-height: 30px; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; margin: 32px 0px 16px; color: #0f1115; padding-left: 40px;"><span style="font-weight: inherit;">विजेटहरू</span></h3> <ol> <li style="list-style-type: none;"> <ol style="margin: 16px 0px; padding-left: 18px; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;" start="1"> <li> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 8px 0px;"><span style="font-weight: 600;">Ourrasuwa_Destination_Widget</span><span class=""> (</span><code style="box-sizing: border-box; font-variant: normal; font-stretch: 100%; line-height: 22px; font-optical-sizing: auto; font-size-adjust: none; font-kerning: auto; font-feature-settings: normal; font-variation-settings: normal; font-language-override: normal; font-family: Menlo, Monaco, Consolas, 'Cascadia Mono', 'Ubuntu Mono', 'DejaVu Sans Mono', 'Liberation Mono', 'JetBrains Mono', 'Fira Code', Cousine, 'Roboto Mono', 'Courier New', Courier, sans-serif, system-ui; background-color: #ebeef2; border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 0.875em !important;">widget-class.php</code><span class="">)</span></p> <ul style="margin: 4px 0px 0px; padding-left: 18px;"> <li> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 0px 0px;"><span style="font-weight: 600;">निर्भर फिल्टर</span><span class=""> – स्थानीय तह छान्दा प्रकार, गाउँ/शहर, टोल/चोकका विकल्पहरू </span><span style="font-weight: 600;">AJAX</span><span class=""> मार्फत अपडेट हुन्छन्।</span></p> </li> <li style="margin-top: 6px;"> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 0px 0px;"><span class="">प्रदर्शन विकल्प – ग्रिड/सूची, कलम संख्या, छवि, एक्सर्प्ट, लेखक देखाउने।</span></p> </li> <li style="margin-top: 6px;"> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 0px 0px;"><span class="">विजेट फारममा </span><span style="font-weight: 600;">Ctrl+Click</span><span class=""> गरी धेरै विकल्प छान्न सकिन्छ।</span></p> </li> </ul> </li> <li style="margin-top: 6px;"> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 8px 0px;"><span style="font-weight: 600;">Ourrasuwa_Recent_Destination_Widget</span><span class=""> (</span><code style="box-sizing: border-box; font-variant: normal; font-stretch: 100%; line-height: 22px; font-optical-sizing: auto; font-size-adjust: none; font-kerning: auto; font-feature-settings: normal; font-variation-settings: normal; font-language-override: normal; font-family: Menlo, Monaco, Consolas, 'Cascadia Mono', 'Ubuntu Mono', 'DejaVu Sans Mono', 'Liberation Mono', 'JetBrains Mono', 'Fira Code', Cousine, 'Roboto Mono', 'Courier New', Courier, sans-serif, system-ui; background-color: #ebeef2; border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 0.875em !important;">recent-destination-widget.php</code><span class="">)</span></p> <ul style="margin: 4px 0px 0px; padding-left: 18px;"> <li> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 0px 0px;"><span class="">स्थानीय तह अनुसार </span><span style="font-weight: 600;">हालका</span><span class=""> गन्तव्यहरू देखाउँछ (मिति क्रममा)।</span></p> </li> </ul> </li> <li style="margin-top: 6px;"> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 8px 0px;"><span style="font-weight: 600;">Ourrasuwa_Popular_Destination_Widget</span><span class=""> (</span><code style="box-sizing: border-box; font-variant: normal; font-stretch: 100%; line-height: 22px; font-optical-sizing: auto; font-size-adjust: none; font-kerning: auto; font-feature-settings: normal; font-variation-settings: normal; font-language-override: normal; font-family: Menlo, Monaco, Consolas, 'Cascadia Mono', 'Ubuntu Mono', 'DejaVu Sans Mono', 'Liberation Mono', 'JetBrains Mono', 'Fira Code', Cousine, 'Roboto Mono', 'Courier New', Courier, sans-serif, system-ui; background-color: #ebeef2; border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 0.875em !important;">popular-destination-widget.php</code><span class="">)</span></p> <ul style="margin: 4px 0px 0px; padding-left: 18px;"> <li> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 0px 0px;"><span style="font-weight: 600;">सबैभन्दा धेरै हेरिएका</span><span class=""> गन्तव्यहरू (</span><code style="box-sizing: border-box; font-variant: normal; font-stretch: 100%; line-height: 22px; font-optical-sizing: auto; font-size-adjust: none; font-kerning: auto; font-feature-settings: normal; font-variation-settings: normal; font-language-override: normal; font-family: Menlo, Monaco, Consolas, 'Cascadia Mono', 'Ubuntu Mono', 'DejaVu Sans Mono', 'Liberation Mono', 'JetBrains Mono', 'Fira Code', Cousine, 'Roboto Mono', 'Courier New', Courier, sans-serif, system-ui; background-color: #ebeef2; border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 0.875em !important;">_post_views_count</code><span class=""> मेटा कुञ्जी) समयअवधि (आज, साता, महिना, सधैं) र स्थानीय तह अनुसार देखाउँछ।</span></p> </li> <li style="margin-top: 6px;"> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 0px 0px;"><span style="font-weight: 600;">फलब्याक</span><span class=""> – यदि भ्यूज नभए पछिल्ला पोस्टहरू देखाउँछ।</span></p> </li> <li style="margin-top: 6px;"> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 0px 0px;"><span class="">UTF-8 फोर्सिङ (लेखकको नाम, विवरणमा)।</span></p> </li> </ul> </li> </ol> </li> </ol> <hr style="background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.1); height: 1px; margin: 32px 0px; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; padding-left: 40px; border: medium none currentcolor;" /> <h3 style="font-style: normal; font-variant: normal; font-size-adjust: none; font-language-override: normal; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-stretch: normal; font-size: 20px; line-height: 30px; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; margin: 32px 0px 16px; color: #0f1115; padding-left: 40px;"><span style="font-weight: inherit;">AJAX ह्यान्डलर</span> <code style="box-sizing: border-box; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-family: Menlo, Monaco, Consolas, 'Cascadia Mono', 'Ubuntu Mono', 'DejaVu Sans Mono', 'Liberation Mono', 'JetBrains Mono', 'Fira Code', Cousine, 'Roboto Mono', 'Courier New', Courier, sans-serif, system-ui; background-color: #ebeef2; border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: inherit;">ajax-handler.php</code></h3> <ul> <li style="list-style-type: none;"> <ul style="margin: 16px 0px; padding-left: 18px; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;"> <li> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 0px 0px;"><code style="box-sizing: border-box; font-variant: normal; font-stretch: 100%; line-height: 22px; font-optical-sizing: auto; font-size-adjust: none; font-kerning: auto; font-feature-settings: normal; font-variation-settings: normal; font-language-override: normal; font-family: Menlo, Monaco, Consolas, 'Cascadia Mono', 'Ubuntu Mono', 'DejaVu Sans Mono', 'Liberation Mono', 'JetBrains Mono', 'Fira Code', Cousine, 'Roboto Mono', 'Courier New', Courier, sans-serif, system-ui; background-color: #ebeef2; border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 0.875em !important;">ourrasuwa_get_filtered_terms</code><span class=""> – आर्काइभ पृष्ठको </span><span style="font-weight: 600;">निर्भर ड्रपडाउन</span><span class=""> (Bi-directional) को लागि।</span></p> </li> <li style="margin-top: 6px;"> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 0px 0px;"><span class="">कुनै पनि ड्रपडाउन परिवर्तन हुँदा, अन्य सबै फिल्टरहरूको आधारमा सम्बन्धित टर्महरू फेच गर्छ।</span></p> </li> </ul> </li> </ul> <hr style="background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.1); height: 1px; margin: 32px 0px; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; padding-left: 40px; border: medium none currentcolor;" /> <h3 style="font-style: normal; font-variant: normal; font-size-adjust: none; font-language-override: normal; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-stretch: normal; font-size: 20px; line-height: 30px; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; margin: 32px 0px 16px; color: #0f1115; padding-left: 40px;"><span style="font-weight: inherit;">साइडबार</span> <code style="box-sizing: border-box; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-family: Menlo, Monaco, Consolas, 'Cascadia Mono', 'Ubuntu Mono', 'DejaVu Sans Mono', 'Liberation Mono', 'JetBrains Mono', 'Fira Code', Cousine, 'Roboto Mono', 'Courier New', Courier, sans-serif, system-ui; background-color: #ebeef2; border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: inherit;">sidebar.php</code></h3> <ul> <li style="list-style-type: none;"> <ul style="margin: 16px 0px; padding-left: 18px; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;"> <li> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 0px 0px;"><code style="box-sizing: border-box; font-variant: normal; font-stretch: 100%; line-height: 22px; font-optical-sizing: auto; font-size-adjust: none; font-kerning: auto; font-feature-settings: normal; font-variation-settings: normal; font-language-override: normal; font-family: Menlo, Monaco, Consolas, 'Cascadia Mono', 'Ubuntu Mono', 'DejaVu Sans Mono', 'Liberation Mono', 'JetBrains Mono', 'Fira Code', Cousine, 'Roboto Mono', 'Courier New', Courier, sans-serif, system-ui; background-color: #ebeef2; border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 0.875em !important;">destination-sidebar</code><span class=""> नामक </span><span style="font-weight: 600;">साइडबार</span><span class=""> दर्ता गर्छ, जसलाई एकल र आर्काइभ पृष्ठहरूमा प्रयोग गर्न सकिन्छ।</span></p> </li> </ul> </li> </ul> <hr style="background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.1); height: 1px; margin: 32px 0px; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; padding-left: 40px; border: medium none currentcolor;" /> <h3 style="font-style: normal; font-variant: normal; font-size-adjust: none; font-language-override: normal; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-stretch: normal; font-size: 20px; line-height: 30px; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; margin: 32px 0px 16px; color: #0f1115; padding-left: 40px;"><span style="font-weight: inherit;">फ्रन्टेन्ड टेम्प्लेटहरू</span><span class=""> (</span><code style="box-sizing: border-box; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-family: Menlo, Monaco, Consolas, 'Cascadia Mono', 'Ubuntu Mono', 'DejaVu Sans Mono', 'Liberation Mono', 'JetBrains Mono', 'Fira Code', Cousine, 'Roboto Mono', 'Courier New', Courier, sans-serif, system-ui; background-color: #ebeef2; border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: inherit;">templates/</code><span class=""> र मूल फोल्डरमा)</span></h3> <ul> <li style="list-style-type: none;"> <ul style="margin: 16px 0px; padding-left: 18px; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;"> <li> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 8px 0px;"><span style="font-weight: 600;">single-place.php</span><span class=""> – एकल गन्तव्य पृष्ठ:</span></p> <ul style="margin: 4px 0px 0px; padding-left: 18px;"> <li> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 0px 0px;"><span style="font-weight: 600;">हेरो स्लाइडर</span><span class=""> (माथि) + दायाँ सामग्री बक्स (यदि सेटिङमा सक्रिय छ)।</span></p> </li> <li style="margin-top: 6px;"> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 0px 0px;"><span style="font-weight: 600;">ट्याब</span><span class=""> – परिचय, आकर्षण, कसरी पुग्ने (नक्सा सहित), भिडियो, सन्दर्भ स्रोत।</span></p> </li> <li style="margin-top: 6px;"> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 0px 0px;"><span style="font-weight: 600;">नजिकका गन्तव्यहरू</span><span class="">, </span><span style="font-weight: 600;">स्थानीय तह अन्तर्गतका</span><span class=""> गन्तव्यहरू, </span><span style="font-weight: 600;">वर्गीकरण लिङ्कहरू</span><span class="">।</span></p> </li> <li style="margin-top: 6px;"> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 0px 0px;"><span style="font-weight: 600;">सामाजिक सेयर बटनहरू</span><span class=""> (फेसबुक, ट्विटर, भाइबर, ह्वाट्सएप)।</span></p> </li> <li style="margin-top: 6px;"> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 0px 0px;"><span style="font-weight: 600;">कमेन्ट</span><span class=""> र </span><span style="font-weight: 600;">रेटिङ</span><span class=""> (यदि </span><code style="box-sizing: border-box; font-variant: normal; font-stretch: 100%; line-height: 22px; font-optical-sizing: auto; font-size-adjust: none; font-kerning: auto; font-feature-settings: normal; font-variation-settings: normal; font-language-override: normal; font-family: Menlo, Monaco, Consolas, 'Cascadia Mono', 'Ubuntu Mono', 'DejaVu Sans Mono', 'Liberation Mono', 'JetBrains Mono', 'Fira Code', Cousine, 'Roboto Mono', 'Courier New', Courier, sans-serif, system-ui; background-color: #ebeef2; border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 0.875em !important;">the_ratings</code><span class=""> फङ्क्सन छ भने)।</span></p> </li> <li style="margin-top: 6px;"> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 0px 0px;"><span style="font-weight: 600;">साइडबार</span><span class=""> (३०% मा) – </span><code style="box-sizing: border-box; font-variant: normal; font-stretch: 100%; line-height: 22px; font-optical-sizing: auto; font-size-adjust: none; font-kerning: auto; font-feature-settings: normal; font-variation-settings: normal; font-language-override: normal; font-family: Menlo, Monaco, Consolas, 'Cascadia Mono', 'Ubuntu Mono', 'DejaVu Sans Mono', 'Liberation Mono', 'JetBrains Mono', 'Fira Code', Cousine, 'Roboto Mono', 'Courier New', Courier, sans-serif, system-ui; background-color: #ebeef2; border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 0.875em !important;">destination-sidebar</code><span class=""> विजेट क्षेत्र।</span></p> </li> </ul> </li> <li style="margin-top: 6px;"> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 8px 0px;"><span style="font-weight: 600;">archive-our_destination.php</span><span class=""> – आर्काइभ पृष्ठ:</span></p> <ul style="margin: 4px 0px 0px; padding-left: 18px;"> <li> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 0px 0px;"><span style="font-weight: 600;">फिल्टर फर्म</span><span class=""> – सबै ट्याक्सोनोमी ड्रपडाउन (AJAX निर्भर)।</span></p> </li> <li style="margin-top: 6px;"> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 0px 0px;"><span style="font-weight: 600;">नक्सा</span><span class=""> – सडक र स्याटेलाइट </span><span style="font-weight: 600;">स्विच</span><span class=""> (Leaflet)।</span></p> </li> <li style="margin-top: 6px;"> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 0px 0px;"><span style="font-weight: 600;">ग्रिड</span><span class=""> मा गन्तव्यहरू (४ कलम)।</span></p> </li> <li style="margin-top: 6px;"> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 0px 0px;"><span style="font-weight: 600;">पेजिनेसन</span><span class="">।</span></p> </li> <li style="margin-top: 6px;"> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 0px 0px;"><span class="">तल </span><span style="font-weight: 600;">सबै ट्याक्सोनोमीको सूची</span><span class=""> (स्थानीय तह, प्रकार, गाउँ/शहर, टोल/चोक)।</span></p> </li> </ul> </li> <li style="margin-top: 6px;"> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 8px 0px;"><span style="font-weight: 600;">taxonomy-*.php</span><span class=""> (local_body, place_type, town_city, tol_chok, place_tag):</span></p> <ul style="margin: 4px 0px 0px; padding-left: 18px;"> <li> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 0px 0px;"><span class="">सम्बन्धित ट्याक्सोनोमीको </span><span style="font-weight: 600;">आर्काइभ</span><span class=""> पृष्ठ।</span></p> </li> <li style="margin-top: 6px;"> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 0px 0px;"><span style="font-weight: 600;">हेडर</span><span class=""> (ग्रेडियन्ट, आइकन, तथ्याङ्क)।</span></p> </li> <li style="margin-top: 6px;"> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 0px 0px;"><span style="font-weight: 600;">फिल्टर</span><span class=""> (अन्य ट्याक्सोनोमी अनुसार)।</span></p> </li> <li style="margin-top: 6px;"> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 0px 0px;"><span style="font-weight: 600;">नक्सा</span><span class=""> र </span><span style="font-weight: 600;">ग्रिड</span><span class="">।</span></p> </li> <li style="margin-top: 6px;"> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 0px 0px;"><span class="">अन्य सम्बन्धित टर्महरूको सूची।</span></p> </li> </ul> </li> <li style="margin-top: 6px;"> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 0px 0px;"><span style="font-weight: 600;">page-place_type.php</span><span class=""> – सबै </span><code style="box-sizing: border-box; font-variant: normal; font-stretch: 100%; line-height: 22px; font-optical-sizing: auto; font-size-adjust: none; font-kerning: auto; font-feature-settings: normal; font-variation-settings: normal; font-language-override: normal; font-family: Menlo, Monaco, Consolas, 'Cascadia Mono', 'Ubuntu Mono', 'DejaVu Sans Mono', 'Liberation Mono', 'JetBrains Mono', 'Fira Code', Cousine, 'Roboto Mono', 'Courier New', Courier, sans-serif, system-ui; background-color: #ebeef2; border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 0.875em !important;">place_type</code><span class=""> को </span><span style="font-weight: 600;">ग्रिड</span><span class=""> (आइकन, रङ, गन्तव्य संख्या)।</span></p> </li> <li style="margin-top: 6px;"> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 0px 0px;"><span style="font-weight: 600;">author-places.php</span><span class=""> – सबै लेखकहरूको सूची, प्रत्येकको एभाटार, नाम, गन्तव्य संख्या, र तिनका पोस्टहरूको लिङ्क।</span></p> </li> </ul> </li> </ul> <hr style="background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.1); height: 1px; margin: 32px 0px; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; padding-left: 40px; border: medium none currentcolor;" /> <h2 style="font-style: normal; font-variant: normal; font-size-adjust: none; font-language-override: normal; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-stretch: normal; font-size: 22px; line-height: 32px; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; margin: 32px 0px 16px; color: #0f1115; padding-left: 40px;"><span style="font-weight: inherit;">३. CSS र JS (एडमिन/फ्रन्टेन्ड)</span></h2> <ul> <li style="list-style-type: none;"> <ul style="margin: 16px 0px; padding-left: 18px; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;"> <li> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 0px 0px;"><code style="box-sizing: border-box; font-variant: normal; font-stretch: 100%; line-height: 22px; font-optical-sizing: auto; font-size-adjust: none; font-kerning: auto; font-feature-settings: normal; font-variation-settings: normal; font-language-override: normal; font-family: Menlo, Monaco, Consolas, 'Cascadia Mono', 'Ubuntu Mono', 'DejaVu Sans Mono', 'Liberation Mono', 'JetBrains Mono', 'Fira Code', Cousine, 'Roboto Mono', 'Courier New', Courier, sans-serif, system-ui; background-color: #ebeef2; border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 0.875em !important;">admin.css</code><span class=""> – एडमिन मेटाबक्स स्टाइल, हाइलाइट बक्स।</span></p> </li> <li style="margin-top: 6px;"> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 0px 0px;"><code style="box-sizing: border-box; font-variant: normal; font-stretch: 100%; line-height: 22px; font-optical-sizing: auto; font-size-adjust: none; font-kerning: auto; font-feature-settings: normal; font-variation-settings: normal; font-language-override: normal; font-family: Menlo, Monaco, Consolas, 'Cascadia Mono', 'Ubuntu Mono', 'DejaVu Sans Mono', 'Liberation Mono', 'JetBrains Mono', 'Fira Code', Cousine, 'Roboto Mono', 'Courier New', Courier, sans-serif, system-ui; background-color: #ebeef2; border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 0.875em !important;">admin.js</code><span class=""> – </span><code style="box-sizing: border-box; font-variant: normal; font-stretch: 100%; line-height: 22px; font-optical-sizing: auto; font-size-adjust: none; font-kerning: auto; font-feature-settings: normal; font-variation-settings: normal; font-language-override: normal; font-family: Menlo, Monaco, Consolas, 'Cascadia Mono', 'Ubuntu Mono', 'DejaVu Sans Mono', 'Liberation Mono', 'JetBrains Mono', 'Fira Code', Cousine, 'Roboto Mono', 'Courier New', Courier, sans-serif, system-ui; background-color: #ebeef2; border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 0.875em !important;">sortable-container</code><span class=""> क्लास भएका तत्वहरूलाई </span><span style="font-weight: 600;">ड्र्याग-एण्ड-ड्रप</span><span class=""> योग्य बनाउँछ।</span></p> </li> <li style="margin-top: 6px;"> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 0px 0px;"><code style="box-sizing: border-box; font-variant: normal; font-stretch: 100%; line-height: 22px; font-optical-sizing: auto; font-size-adjust: none; font-kerning: auto; font-feature-settings: normal; font-variation-settings: normal; font-language-override: normal; font-family: Menlo, Monaco, Consolas, 'Cascadia Mono', 'Ubuntu Mono', 'DejaVu Sans Mono', 'Liberation Mono', 'JetBrains Mono', 'Fira Code', Cousine, 'Roboto Mono', 'Courier New', Courier, sans-serif, system-ui; background-color: #ebeef2; border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 0.875em !important;">frontend.css</code><span class=""> – विकिलिङ्क (अवस्थित/अनुपलब्ध) को स्टाइल।</span></p> </li> </ul> </li> </ul> <hr style="background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.1); height: 1px; margin: 32px 0px; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; padding-left: 40px; border: medium none currentcolor;" /> <h2 style="font-style: normal; font-variant: normal; font-size-adjust: none; font-language-override: normal; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-stretch: normal; font-size: 22px; line-height: 32px; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; margin: 32px 0px 16px; color: #0f1115; padding-left: 40px;"><span style="font-weight: inherit;">४. प्रमुख कार्यप्रवाह</span></h2> <ol> <li style="list-style-type: none;"> <ol style="margin: 16px 0px; padding-left: 18px; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;" start="1"> <li> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 0px 0px;"><span style="font-weight: 600;">प्लगइन सक्रिय</span><span class=""> → </span><code style="box-sizing: border-box; font-variant: normal; font-stretch: 100%; line-height: 22px; font-optical-sizing: auto; font-size-adjust: none; font-kerning: auto; font-feature-settings: normal; font-variation-settings: normal; font-language-override: normal; font-family: Menlo, Monaco, Consolas, 'Cascadia Mono', 'Ubuntu Mono', 'DejaVu Sans Mono', 'Liberation Mono', 'JetBrains Mono', 'Fira Code', Cousine, 'Roboto Mono', 'Courier New', Courier, sans-serif, system-ui; background-color: #ebeef2; border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 0.875em !important;">our_destination</code><span class=""> पोस्ट टाइप र ट्याक्सोनोमीहरू सिर्जना।</span></p> </li> <li style="margin-top: 6px;"> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 0px 0px;"><span style="font-weight: 600;">एडमिन</span><span class=""> मा नयाँ गन्तव्य थप्दा </span><span style="font-weight: 600;">७ ट्याब</span><span class=""> भएको फर्म देखिन्छ।</span></p> </li> <li style="margin-top: 6px;"> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 0px 0px;"><span style="font-weight: 600;">सेभ</span><span class=""> गर्दा </span><code style="box-sizing: border-box; font-variant: normal; font-stretch: 100%; line-height: 22px; font-optical-sizing: auto; font-size-adjust: none; font-kerning: auto; font-feature-settings: normal; font-variation-settings: normal; font-language-override: normal; font-family: Menlo, Monaco, Consolas, 'Cascadia Mono', 'Ubuntu Mono', 'DejaVu Sans Mono', 'Liberation Mono', 'JetBrains Mono', 'Fira Code', Cousine, 'Roboto Mono', 'Courier New', Courier, sans-serif, system-ui; background-color: #ebeef2; border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 0.875em !important;">save-logic</code><span class=""> ले सबै मेटा डाटा र ट्याक्सोनोमी सेभ गर्छ।</span></p> </li> <li style="margin-top: 6px;"> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 0px 0px;"><span style="font-weight: 600;">फ्रन्टेन्ड</span><span class=""> मा </span><code style="box-sizing: border-box; font-variant: normal; font-stretch: 100%; line-height: 22px; font-optical-sizing: auto; font-size-adjust: none; font-kerning: auto; font-feature-settings: normal; font-variation-settings: normal; font-language-override: normal; font-family: Menlo, Monaco, Consolas, 'Cascadia Mono', 'Ubuntu Mono', 'DejaVu Sans Mono', 'Liberation Mono', 'JetBrains Mono', 'Fira Code', Cousine, 'Roboto Mono', 'Courier New', Courier, sans-serif, system-ui; background-color: #ebeef2; border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 0.875em !important;">template_include</code><span class=""> फिल्टरले कस्टम टेम्प्लेट लोड गर्छ।</span></p> </li> <li style="margin-top: 6px;"> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 0px 0px;"><span style="font-weight: 600;">आर्काइभ/ट्याक्सोनोमी</span><span class=""> पृष्ठमा </span><code style="box-sizing: border-box; font-variant: normal; font-stretch: 100%; line-height: 22px; font-optical-sizing: auto; font-size-adjust: none; font-kerning: auto; font-feature-settings: normal; font-variation-settings: normal; font-language-override: normal; font-family: Menlo, Monaco, Consolas, 'Cascadia Mono', 'Ubuntu Mono', 'DejaVu Sans Mono', 'Liberation Mono', 'JetBrains Mono', 'Fira Code', Cousine, 'Roboto Mono', 'Courier New', Courier, sans-serif, system-ui; background-color: #ebeef2; border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 0.875em !important;">pre_get_posts</code><span class=""> ले </span><code style="box-sizing: border-box; font-variant: normal; font-stretch: 100%; line-height: 22px; font-optical-sizing: auto; font-size-adjust: none; font-kerning: auto; font-feature-settings: normal; font-variation-settings: normal; font-language-override: normal; font-family: Menlo, Monaco, Consolas, 'Cascadia Mono', 'Ubuntu Mono', 'DejaVu Sans Mono', 'Liberation Mono', 'JetBrains Mono', 'Fira Code', Cousine, 'Roboto Mono', 'Courier New', Courier, sans-serif, system-ui; background-color: #ebeef2; border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 0.875em !important;">GET</code><span class=""> फिल्टर अनुसार क्वेरी परिमार्जन गर्छ।</span></p> </li> <li style="margin-top: 6px;"> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 0px 0px;"><span style="font-weight: 600;">विजेटहरू</span><span class=""> ले साइडबारमा सूची देखाउँछन्; निर्भर फिल्टरको लागि AJAX प्रयोग गर्छन्।</span></p> </li> <li style="margin-top: 6px;"> <p class="ds-markdown-paragraph" style="margin: 0px !important 0px 0px 0px;"><span style="font-weight: 600;">विकिलिङ्क</span><span class=""> ले </span><code style="box-sizing: border-box; font-variant: normal; font-stretch: 100%; line-height: 22px; font-optical-sizing: auto; font-size-adjust: none; font-kerning: auto; font-feature-settings: normal; font-variation-settings: normal; font-language-override: normal; font-family: Menlo, Monaco, Consolas, 'Cascadia Mono', 'Ubuntu Mono', 'DejaVu Sans Mono', 'Liberation Mono', 'JetBrains Mono', 'Fira Code', Cousine, 'Roboto Mono', 'Courier New', Courier, sans-serif, system-ui; background-color: #ebeef2; border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 0.875em !important;">[[...लाई स्वतः लिङ्कमा बदल्छ (REST API + Gutenberg Autocomplete)। -
Leaflet नक्सा (स्याटेलाइट/सडक) सबै पृष्ठहरूमा एकीकृत।
-
अनइन्स्टल गर्दा सबै डाटा मेटिन्छ।
-
-
-
सुरक्षा:
ABSPATHजाँच,wp_verify_nonce,current_user_can,wp_kses_post,sanitize_text_field। -
कुशल क्वेरी:
pre_get_postsमार्फत फिल्टर,tax_queryप्रयोग। -
Ajax: विजेट र आर्काइभ फिल्टरका लागि।
-
REST API: विकिलिङ्क Autocomplete।
-
Leaflet: नक्सा (सडक + स्याटेलाइट)।
-
TinyMCE: सबै विवरण फिल्डहरूमा।
-
Repeatable फिल्डहरू: jQuery UI Sortable, Collapsible।
-
LocalStorage: ट्याब स्थिति सम्झने।
-
UTF-8 फोर्सिङ: लोकप्रिय विजेटमा नेपाली अक्षर सही देखाउन।
-
-
-
मुख्य फाइल (
ourrasuwa-destination-manager.php) ले सबैincludes/फाइलहरूrequireगर्छ, त्यसैले तिनीहरू प्लगइन सक्रिय भएपछि सधैं उपलब्ध हुन्छन्। -
मेटाबक्स (
metabox.php) ले ट्याबहरूincludes/tabs/बाट समावेश गर्छ (हरेक ट्याबको फाइलincludeगरिन्छ)। -
टेम्प्लेट इन्क्लुड (
template_includeफिल्टर) ले रुट वाtemplates/फोल्डर मा रहेका टेम्प्लेट फाइलहरू खोज्छ र लोड गर्छ। -
एडमिन एसेट्स (
admin.css,admin.js) मुख्य फाइललेassets/फोल्डरबाट इन्क्यु गर्छ। -
AJAX ह्यान्डलर विजेट र आर्काइभ फिल्टरबाट कल हुन्छ।
-
विजेटहरू
widget-class.php,recent-...,popular-...मा परिभाषित छन् रwidgets_initमा दर्ता हुन्छन्। -
uninstall.php प्लगइन मेटाउँदा स्वतः चल्छ, अन्य फाइलहरूसँग सीधा सम्बन्ध छैन।
-
-
-
यदि टेम्प्लेटहरू अलग राख्न चाहनुहुन्छ भने
templates/फोल्डर प्रयोग गर्नुहोस् (तर मुख्य फाइलले दुवै ठाउँ खोज्छ)। -
विकिलिङ्क को
frontend.cssअलग राख्नु राम्रो हो (तपाईंले गर्नुभएको छ)। -
AJAX र विजेट को JavaScript
admin.jsमा छ, तर विजेटको आफ्नै JS पनि समावेश गर्न सक्नुहुन्छ (अहिले इनलाइन छ)।
-
५. प्राविधिक विशेषताहरू
निष्कर्ष
यो प्लगइन वर्डप्रेसको कस्टम पोस्ट टाइप, ट्याक्सोनोमी, मेटाबक्स, विजेट, AJAX, REST API, Leaflet, र टेम्प्लेट प्रणालीको सदुपयोग गरी रसुवाका गन्तव्यहरूको सम्पूर्ण व्यवस्थापन र प्रदर्शन गर्न डिजाइन गरिएको हो। यसले प्रयोगकर्तालाई सजिलो डाटा इन्ट्री, शक्तिशाली फिल्टरिङ, आकर्षक प्रस्तुति, र उत्कृष्ट प्रयोगकर्ता अनुभव प्रदान गर्छ।
फाइल संरचना (File Structure)
तपाईंको प्लगइनको फाइल र फोल्डर संरचना निम्नानुसार छ। यसले मोड्युलर डिजाइन पछ्याउँछ – प्रत्येक कार्यक्षमताको लागि छुट्टै फाइल राखिएको छ, जसले कोडलाई व्यवस्थित, पढ्न सजिलो र मर्मतयोग्य बनाउँछ।
मूल फोल्डर: ourrasuwa-destination-manager/
ourrasuwa-destination-manager/ │ ├── ourrasuwa-destination-manager.php # मुख्य प्लगइन फाइल (Entry Point) ├── uninstall.php # प्लगइन मेटाउँदा चल्ने (डाटा सफाइ) ├── frontend.css # फ्रन्टेन्ड स्टाइल (विकिलिङ्क, आदि) │ ├── assets/ # एडमिन एसेट्स │ ├── css/ │ │ └── admin.css # एडमिन प्यानलको स्टाइल │ └── js/ │ └── admin.js # एडमिनको जाभास्क्रिप्ट (sortable, आदि) │ ├── includes/ # कोर प्लगइन फाइलहरू │ ├── post-type.php # पोस्ट टाइप र ट्याक्सोनोमी दर्ता │ ├── metabox.php # मेटाबक्स (ट्याब सहित) थप्ने │ ├── save-logic.php # सबै मेटा डाटा र ट्याक्सोनोमी सेभ गर्ने │ ├── sidebar.php # साइडबार दर्ता │ ├── widget-class.php # मुख्य विजेट (निर्भर फिल्टर सहित) │ ├── ajax-handler.php # AJAX ह्यान्डलर (फिल्टरका लागि) │ ├── ourrasuwa-wikilink.php # विकिलिङ्क (बिजिली जोङ्ग → लिङ्क, Gutenberg autocomplete) │ ├── recent-destination-widget.php # हालका गन्तव्य विजेट │ ├── popular-destination-widget.php # लोकप्रिय गन्तव्य विजेट │ │ │ └── tabs/ # मेटाबक्सका ट्याबहरू (७ वटा) │ ├── 1-introduction.php # परिचय ट्याब (repeatable) │ ├── 2-attractions.php # आकर्षण ट्याब │ ├── 3-how-to-reach.php # कसरी पुग्ने + नक्सा (Leaflet) │ ├── 4-heroslider.php # हेरो स्लाइडर (लाइभ प्रिभ्यू सहित) │ ├── 5-resources.php # सन्दर्भ स्रोत (repeatable) │ ├── 6-videos.php # भिडियो (YouTube embed) │ └── 7-settings.php # सेटिङ (फिचर इमेज, ट्याक्सोनोमी, लेखक, स्थिति) │ ├── templates/ # वैकल्पिक टेम्प्लेट फोल्डर (यदि रुटमा नभए) │ ├── single-place.php (यो मूलमा पनि हुन सक्छ) │ ├── archive-our_destination.php (यो मूलमा पनि हुन सक्छ) │ ├── taxonomy-local_body.php (यो मूलमा पनि हुन सक्छ) │ ├── taxonomy-place_type.php │ ├── taxonomy-town_city.php │ ├── taxonomy-tol_chok.php │ └── taxonomy-place_tag.php │ ├── single-place.php # एकल गन्तव्य पृष्ठको टेम्प्लेट ├── archive-our_destination.php # आर्काइभ पृष्ठको टेम्प्लेट ├── taxonomy-local_body.php # स्थानीय तह आर्काइभ ├── taxonomy-place_type.php # प्रकार आर्काइभ ├── taxonomy-town_city.php # गाउँ/शहर आर्काइभ ├── taxonomy-tol_chok.php # टोल/चोक आर्काइभ ├── taxonomy-place_tag.php # ट्याग आर्काइभ ├── page-place_type.php # सबै प्रकारहरूको पृष्ठ (Page Template) └── author-places.php # सबै लेखकहरूको पृष्ठ (Page Template)
फाइल र फोल्डरको भूमिका (संक्षिप्त)
| फाइल/फोल्डर | कार्य |
|---|---|
| मुख्य फाइल | प्लगइन हेडर, स्थिरांक, आवश्यक फाइलहरू require, एडमिन एसेट्स इन्क्यु, टेम्प्लेट इन्क्लुड, क्वेरी फिल्टर, ट्याक्सोनोमी टेम्प्लेटहरू |
| uninstall.php | प्लगइन मेटाउँदा सबै पोस्ट, मेटा, टर्महरू मेटाउँछ |
| assets/ | एडमिन CSS र JS (मेटाबक्सको लागि sortable, ट्याब स्विचिङ) |
| frontend.css | विकिलिङ्कको स्टाइल (अवस्थित/अनुपलब्ध) |
| includes/post-type.php | our_destination पोस्ट टाइप र ५ वटा ट्याक्सोनोमी दर्ता |
| includes/metabox.php | ७ ट्याबको मेटाबक्स थप्छ, प्रत्येक ट्याबको HTML tabs/ बाट ल्याउँछ |
| includes/save-logic.php | दुई सेभ कार्य – एकले मेटा डाटा, अर्कोले सेटिङ र ट्याक्सोनोमी सेभ गर्छ |
| includes/sidebar.php | destination-sidebar दर्ता |
| includes/widget-class.php | मुख्य गन्तव्य सूची विजेट (निर्भर AJAX फिल्टर, ग्रिड/सूची) |
| includes/ajax-handler.php | विजेट र आर्काइभको निर्भर ड्रपडाउनका लागि AJAX |
| includes/ourrasuwa-wikilink.php | फ्रन्टेन्डमा बिजिली जोङ्ग → लिङ्क, Gutenberg autocomplete, REST API |
| includes/recent-destination-widget.php | स्थानीय तह अनुसार हालका गन्तव्यहरू |
| includes/popular-destination-widget.php | समयअवधि र स्थानीय तह अनुसार लोकप्रिय (भ्यूजका आधारमा) |
| includes/tabs/ | प्रत्येक ट्याबको PHP (repeatable फिल्ड, म्याप, स्लाइडर प्रिभ्यू, आदि) |
टेम्प्लेट फाइलहरू (रुट वा templates/ मा) |
फ्रन्टेन्ड पृष्ठहरूको HTML संरचना – एकल, आर्काइभ, सबै ट्याक्सोनोमी, लेखक, प्रकार पृष्ठ |
फाइलहरूको सम्बन्ध (कसरी जोडिएका छन्?)
सुझाव
यो संरचना व्यवस्थित, स्केलेबल र WordPress मापदण्ड अनुकूल छ।