পিএইচপি ফাংশন সহ HTML টেমপ্লেট পৃষ্ঠা ফেরত দিন Return


10

আমি এমন একটি ফর্ম তৈরি করতে চাই যা আমি আমার সাইটে toোকাতে একটি শর্টকোড ব্যবহার করতে পারি।

সত্যিই খুব ভাল লাগবে যদি আমি একটি পৃথক ফাইলে এইচটিএমএল অংশ তৈরি করতে পারি এবং তারপরে এটি একটি পিএইচপি শর্টকোড দিয়ে সন্নিবেশ করতাম (পৃষ্ঠাটির লজিকটিকে একটি শর্টকোডে রূপ দেওয়ার জন্য আলাদা করতে)।

আমি এই কিভাবে করতে পারে?

-- হালনাগাদ --

এটি আমি করেছি: আমার দুটি ফাইল রয়েছে। একজনকে 'প্রোফাইলটেম্পলেট.এফপি' এবং একজনকে 'স্কোড' বলা হয়। এগুলি উভয়ই একটি প্লাগইনের অংশ যা আমি আমার সাইটের জন্য একটি init.php দিয়ে তৈরি করছি যা তাদের সূচনা করে। এখানে তাদের বিষয়বস্তু:

init.php

<?php
require_once(dirname(__FILE__).'/pages/scodes.php');
?>

scodes.php

function jf_testcode() {
    include dirname(__FILE__) . 'profiletemplate.php';
}

add_shortcode('testfield', 'jf_testcode');

profiletemplate.php

<?php // Template for my form shortcode ?>
<form>
Testing
</form>

আমি তখন আমার সাইটের কোনও পৃষ্ঠায় [টেস্টফিল্ড] শর্টকোড ব্যবহার করি।

আপডেট 2

সুতরাং এই পদ্ধতিটি কাজ করছে, তবে এটি শর্টকোড যেখানে ডাকা হয়েছে এটি HTML সন্নিবেশ করছে না। পরিবর্তে এটি কেবল পৃষ্ঠার শীর্ষে সামগ্রী সন্নিবেশ করছে (যদি আমি কোনও ফাংশনে 'রিটার্ন' টেস্টিং '' এর পরিবর্তে 'ইকো' টেস্টিং 'বলে থাকি তবে)


আচ্ছা, প্রারম্ভিকদের জন্য, আপনি একটি পিএইচপি ফাইলে সাধারণ HTML লিখতে পারেন। তারপরে আপনাকে নিজের মধ্যে এমন একটি ফাংশন লিখতে হবে functions.phpযা এই নির্দিষ্ট ফাইলটির প্রয়োজন / অন্তর্ভুক্ত করে এবং add_shortcode()আপনার ফাংশনটি কল করার জন্য আপনার পছন্দসই শর্টকোড সেটআপ করার মাধ্যমে।
tfrommen

উত্তর:


24

আমি আমার আগের মন্তব্যে কিছু ভুলে গিয়েছিলাম শর্টকোডগুলি সামগ্রী ফেরত দেয় , প্রস্তাবিত includeএবং আমার বিকল্প উভয়ই get_template_partসরাসরি কন্টেন্টটিকে আউটপুট দেয় (শর্টকোড যেখানে ডাকা হয় তার পরিবর্তে আপনার পৃষ্ঠার শীর্ষে উপস্থিত সামগ্রীর সাথে আপনি যা দেখছেন)। এটির মোকাবিলা করতে আমাদের অবশ্যই আউটপুট বাফারিং ব্যবহার করতে হবে ।

আপনার ফাংশন.এফপি (অথবা আপনার সাইটের সাইট-নির্দিষ্ট ফাংশন ফাইল) এর শর্টকোডটি সংজ্ঞায়িত করুন ।

function my_form_shortcode() {
    ob_start();
    get_template_part('my_form_template');
    return ob_get_clean();   
} 
add_shortcode( 'my_form_shortcode', 'my_form_shortcode' );

তারপরে আপনার থিম ফোল্ডারে আপনার একটি ফাইল দরকার my_form_template.phpযা শর্টকোডের যে কোনও জায়গায় লোড হবে।


পারফেক্ট! এটি কল্পিতভাবে কাজ করে!
উইলিয়াম

আপনি যদি প্লাগিনের মধ্যে একই কাজ করার চেষ্টা করেন তবে আপনাকে অন্তর্ভুক্ত করতে হবে। ওয়ার্ডপ্রেস.সটাকেক্সচেঞ্জ / এ
124794/75817

বাহ ... আমার দিন বাঁচিয়েছে ... দুর্দান্ত কোড
দিপাক_পুস্তি

2

আপনার টু নিম্নলিখিত যোগ থিমের functions.php :

function my_form_shortcode() {
    include dirname( __FILE__ ) . 'my_form_template.php';
} // function my_form_shortcode
add_shortcode( 'my_form_shortcode', 'my_form_shortcode' );

My_for_template.php ফাইল করুন :

<?php // Template for my form shortcode ?>
<form ...>
    FIELDS
</form>

1
আপনি get_template_part()নিজের শর্টকোড ফাংশনটির ভিতরেও ব্যবহার করতে পারেন ।
হেলগাটিভিকিং

আমি @ টিএফ এর সমাধানটি প্রয়োগ করার চেষ্টা করেছি - আমি এটি সম্পর্কে আমার পোস্টে একটি আপডেট যুক্ত করেছি
উইলিয়াম

@ হেলগাথভিওকিং - সেই ফাংশনটি কীভাবে কাজ করে?
উইলিয়াম

Get_template_part () এর বিবরণের জন্য কোডেক্স দেখুন এবং এটি আপনার শর্টকোডের সাথে একত্রে কীভাবে ব্যবহার করতে হয় তার জন্য আমার উত্তর দেখুন।
হেলগাটিভিকিং
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.