Our Rasuwa – Voice Of Rasuwa

Explore Important Destinations

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_bodymap_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.phptabs/*.php

    • ७ ट्याब भएको मेटाबक्स थप्छ।

    • प्रत्येक ट्याब (introduction, attractions, how-to-reach, heroslider, resources, videos, settings) को आफ्नै tabs/ फोल्डरमा PHP फाइल हुन्छ।

    • ट्याब स्विचिङ – जाभास्क्रिप्टले localStorage मा एक्टिभ ट्याब सेभ गर्छ, पेज रिफ्रेस वा सेभ गर्दा पनि खुलिरहन्छ।

    • Repeatable फिल्डहरू (जस्तै परिचय, आकर्षण) – प्रयोगकर्ताले धेरै आइटम थप्न, मेटाउन, ड्र्याग गरी क्रम मिलाउन सक्छ।

    • प्रत्येक आइटम मा शीर्षक, सामग्री (TinyMCE एडिटर), हाइलाइट बक्स (टगल गर्न मिल्ने) हुन्छ।

    • हेरो स्लाइडर – छविहरू अपलोड, स्लाइडको शीर्षक/विवरण, स्लाइडर साइज/एनिमेसन, लाइभ प्रिभ्यू (७०% स्लाइडर + ३०% साइड सामग्री) देखिन्छ।

    • भिडियो ट्याब – युट्युब लिङ्क राख्दा स्वतः एम्बेड प्रिभ्यू देखाउँछ।

    • सेटिङ ट्याब – फिचर इमेज अपलोड, ट्याक्सोनोमी चेकबक्स, लेखक छनौट, पोस्ट स्थिति (प्रकाशित/ड्राफ्ट)।


सेभ लाजिक save-logic.php

    • दुई सेभ कार्यहरू:

      1. ourrasuwa_save_destination_meta_all – सबै ट्याबका मेटा डाटा सेभ गर्छ (nonce, autosave, permission जाँच पछि)।

      2. 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 फोर्सिङ: लोकप्रिय विजेटमा नेपाली अक्षर सही देखाउन।


      निष्कर्ष

      यो प्लगइन वर्डप्रेसको कस्टम पोस्ट टाइप, ट्याक्सोनोमी, मेटाबक्स, विजेट, AJAX, REST API, Leaflet, र टेम्प्लेट प्रणालीको सदुपयोग गरी रसुवाका गन्तव्यहरूको सम्पूर्ण व्यवस्थापन र प्रदर्शन गर्न डिजाइन गरिएको हो। यसले प्रयोगकर्तालाई सजिलो डाटा इन्ट्री, शक्तिशाली फिल्टरिङ, आकर्षक प्रस्तुति, र उत्कृष्ट प्रयोगकर्ता अनुभव प्रदान गर्छ।

      फाइल संरचना (File Structure)

      तपाईंको प्लगइनको फाइल र फोल्डर संरचना निम्नानुसार छ। यसले मोड्युलर डिजाइन पछ्याउँछ – प्रत्येक कार्यक्षमताको लागि छुट्टै फाइल राखिएको छ, जसले कोडलाई व्यवस्थित, पढ्न सजिलो र मर्मतयोग्य बनाउँछ।


      मूल फोल्डर: ourrasuwa-destination-manager/

      text
      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 संरचना – एकल, आर्काइभ, सबै ट्याक्सोनोमी, लेखक, प्रकार पृष्ठ

      फाइलहरूको सम्बन्ध (कसरी जोडिएका छन्?)

        1. मुख्य फाइल (ourrasuwa-destination-manager.php) ले सबै includes/ फाइलहरू require गर्छ, त्यसैले तिनीहरू प्लगइन सक्रिय भएपछि सधैं उपलब्ध हुन्छन्।

        2. मेटाबक्स (metabox.php) ले ट्याबहरू includes/tabs/ बाट समावेश गर्छ (हरेक ट्याबको फाइल include गरिन्छ)।

        3. टेम्प्लेट इन्क्लुड (template_include फिल्टर) ले रुट वा templates/ फोल्डर मा रहेका टेम्प्लेट फाइलहरू खोज्छ र लोड गर्छ।

        4. एडमिन एसेट्स (admin.css, admin.js) मुख्य फाइलले assets/ फोल्डरबाट इन्क्यु गर्छ।

        5. AJAX ह्यान्डलर विजेट र आर्काइभ फिल्टरबाट कल हुन्छ।

        6. विजेटहरू widget-class.php, recent-..., popular-... मा परिभाषित छन् र widgets_init मा दर्ता हुन्छन्।

        7. uninstall.php प्लगइन मेटाउँदा स्वतः चल्छ, अन्य फाइलहरूसँग सीधा सम्बन्ध छैन।


      सुझाव

        • यदि टेम्प्लेटहरू अलग राख्न चाहनुहुन्छ भने templates/ फोल्डर प्रयोग गर्नुहोस् (तर मुख्य फाइलले दुवै ठाउँ खोज्छ)।

        • विकिलिङ्क को frontend.css अलग राख्नु राम्रो हो (तपाईंले गर्नुभएको छ)।

        • AJAXविजेट को JavaScript admin.js मा छ, तर विजेटको आफ्नै JS पनि समावेश गर्न सक्नुहुन्छ (अहिले इनलाइन छ)।

      यो संरचना व्यवस्थित, स्केलेबल र WordPress मापदण्ड अनुकूल छ।