صفحه اصلی تجهیزات اداری پست ها را در صفحه وردپرس جاسازی کنید. کد php قابل اجرا در پست های وردپرس

پست ها را در صفحه وردپرس جاسازی کنید. کد php قابل اجرا در پست های وردپرس

شرایطی وجود دارد که هنگام نوشتن مقاله استفاده از پتانسیل کامل زبان برنامه نویسی PHP در متن بسیار راحت است. ما در مورد مقالاتی برای وردپرس صحبت می کنیم.

هر کسی که سعی کرده است هر کد PHP را در یک پست بنویسد به این امید که کار کند، می داند که وردپرس چنین کدهایی را به عنوان متن ساده در نظر می گیرد. با این حال، گاهی اوقات اجرای یک حلقه خروجی به طور مستقیم در متن هنگام نوشتن مقاله راحت است، زیرا محتوای چنین مقاله ای به صورت پویا به روز می شود. مثال دیگر امکان فراخوانی توابع آماده در یک پست، در صورت لزوم، یا به عنوان مثال، درج مقداری فایل PHP در متن یک پست با استفاده از تابع php require():

نیاز به "my_script.php"؛

به طور کلی، تخیل در اینجا نامحدود است و حقیقت این است که عدم امکان استفاده از php در متن مقاله در برخی موارد می تواند به یک مشکل واقعی تبدیل شود. روزی روزگاری با چنین مشکلی مواجه شدم، با برداشتن و کمی تغییر کد از یک افزونه (الان اسمش را یادم نیست) آن را حل کردم.

بنابراین، برای پیاده سازی توانایی درج اسکریپت های اجرایی PHP در متن مقاله/پست یا صفحه ایستا، باید کد زیر را به فایل functions.php theme اضافه کنید که احتمالا برای ما به طرز دردناکی آشناست:

## کد PHP قابل اجرا در محتوای پست وردپرس. ## PHP_code ## ## نسخه @: 1.0 if("کد PHP قابل اجرا در محتوا")( add_filter("the_content"، "content_exec_php"، 0); تابع content_exec_php($content)( return preg_replace_callback("/\( . +؟)\[\/exec\]/s، "_content_exec_php"، $content)؛ ) تابع _content_exec_php($matches)( if(" off" === $matches)( بازگشت "\n\n<"."pre>". htmlspecialchars($matches)."\n\n"; ) else ( eval("ob_start(; ($matches); \$exec_php_out = ob_get_clean();")؛ $exec_php_out را برگردانید; ) ))

پس از افزودن کد، امکان استفاده از این نوع ساخت در مقالات وجود خواهد داشت:

کد پی اچ پی

مثلا:

// نظر جهانی $wp_version; echo "نسخه فعلی WP: $wp_version"؛

برای غیرفعال کردن اجرای کد، می توانید از ساختار زیر استفاده کنید. به سادگی کد را نمایش می دهد، گویی کد php را به عنوان متن درج کرده ایم.

کد پی اچ پی

در مورد حفاظت مهم است

نکته ای که باید به خاطر داشته باشید این است که هر کسی می تواند از این ویژگی استفاده کند، که یک حفره امنیتی بزرگ است زیرا اگر کسی به نوشتن مقاله دسترسی داشته باشد، به راحتی می تواند هر کاری که می خواهد با سایت انجام دهد.

برای محافظت از خود در برابر عواقب مضر احتمالی این هک، می توانید حفاظت ساده زیر را انجام دهید (آنچه بلافاصله به ذهن من رسید): اجرای ساختار کد php را فقط در صورتی فعال کنید که مثلاً پست دارای فیلد سفارشی باشد یا فرض کنید پست در 00 دقیقه نوشته شده است. طبیعتا این ترفند که در آن کد اجرا می شود را فقط شما می دانید و بر این اساس فقط شما فرصت درج کد PHP را در مقاله خواهید داشت.

این ویژگی به شما کمک می کند تا ده ها افزونه غیرضروری را که هر داده ساده ای را با امکان پیش پردازش وارد بدنه پست می کنند حذف کنید. فرض کنید، یک بلوک ادسنس را در هر جایی وارد کنید. یا نرخ تبدیل دلار در زمان واقعی به روز می شود. یا هر مقدار ذخیره شده در پایگاه داده WP یا جدول شخص ثالث.

گاهی اوقات لازم است تاریخ فعلی را دقیقاً در وسط متن وارد کنید. یعنی تاریخ در زمان انتشار پست نیست، بلکه از نظر خواننده تاریخ فعلی است. یا هر تغییر دیگری اطلاعات یا قطعه کد JS بدون پردازش پس از موتور. یا چیزی که هر بار که صفحه به‌روزرسانی می‌شود باید دوباره محاسبه شود و این چیزی باید در متن پست باشد. یا... خب فکر کنم متوجه شدید. :)

ما یک پلاگین خواهیم نوشت! این بسیار ساده است و به هیچ دانشی در ایجاد افزونه های WP نیاز ندارد. تنها ایراد آن عدم وجود "چهره" در پنل مدیریت WP است، یعنی تحویل دادن آن به برخی از مشتریان انجام نمی شود. اما برای نیازهای خود گزینه عالی است.

در پوشه /wp-content/plugins/، یک فایل با نام منحصر به فرد ایجاد کنید، مثلاً "insert-any-data-into-post.php". ابتدا یک بلوک نظر می نویسیم که WP متعاقباً آن را تجزیه می کند تا افزونه را در پنل مدیریت خود توصیف کند. می توانید هر داده ای را که می خواهید بنویسید، سپس کد کوتاه را متصل کرده و یک تابع ساده بنویسید. همه کدها:

خلاصه فقط همین. :) در داخل تابع، شما می توانید هر گونه اقدام، دریافت و پردازش هر داده را انجام دهید. در مثال بالا، هنگام نوشتن یک طرح در هر جایی از یک پست، تاریخ فعلی در زمانی که بازدیدکننده این پست را مشاهده کرده، نمایش داده می شود.

همچنین می توانید پارامترهای مختلفی را به این تابع وارد کنید. فرض کنید کد زیر عملکرد ما را گسترش می دهد و قابلیت نمایش نه تنها تاریخ فعلی، بلکه دیروز/فردا را نیز اضافه می کند و همچنین به شما امکان می دهد نوع تاریخ را تغییر دهید.

تابع give_me_date_handler ($atts) (//از آرایه ویژگی‌هایی که متغیرهای مجاز می‌سازیم و مقادیر پیش‌فرض را تنظیم می‌کنیم، استخراج اختیاری اما راحت (shortcode_atts(array("type" => "دیروز، امروز، فردا"، "format" => "کوتاه، کامل")، $atts))؛ //بیایید مشخص کنیم به چه تاریخی نیاز داریم switch($type) ( case "tomorrow": $time = strtotime("+1 day"); break; case "دیروز" : $time = strtotime("-1 روز")؛ شکست؛ پیش‌فرض: $time = time(); ) // تکرار بر روی نوع تاریخ if ($format == "short") $date = date("d.m.Y" ، $time؛ در غیر این صورت $date = date("r"، $time)؛ بازگشت $date؛ )

متغیرهای تابع ما از طریق یک برچسب در پست به شکل زیر تنظیم می شوند:

نتیجه تگ نوشته شده در بالا: 1398/08/21

اسکرین شات از قسمت مدیریت ویرایش پست:

از طریق این تابع، می‌توانید داده‌ها را از پایگاه داده بیرون بکشید و آن‌ها را برگردانید؛ می‌توانید به سادگی کد JS را برگردانید، و برای راحتی، آن را در ob_start() و ob_end_clean() قرار دهید. همچنین می‌توانید چندین کد کوتاه و بر این اساس، چندین عملکرد ایجاد کنید، بنابراین تمام «درج‌های» لازم برای استفاده در داخل بدنه نشریه را در یک فایل/افزونه قرار دهید.

به طور کلی، یک چیز مفید!

- امتیاز 5.0 از 5 بر اساس 2 رای

در مقاله قبلی که بررسی کردیم برای وبلاگ وردپرس ما، و در اینجا نحوه اضافه شدن پست ها (یادداشت ها) در وردپرس را بررسی خواهیم کرد.

در وردپرس دو نوع محتوا وجود دارد، نوشته ها یا به اصطلاح یادداشت ها و صفحات. پست ها محتوای پویایی هستند که معمولاً به طور مداوم در بخش های خاصی در وبلاگ ظاهر می شوند.

در مورد صفحات، اینها صفحات ثابت معمولی هستند، که می توانید با آنها، به عنوان مثال، یک صفحه در مورد نویسنده یا یک وبلاگ ایجاد کنید.

برای ایجاد یک پست، به پنل مدیریت وردپرس بروید: "پست ها" >> "افزودن جدید".

در نتیجه، یک ویرایشگر متن بارگیری می شود که با استفاده از ابزارهای آن می توانید متن را فرمت کنید، همانطور که در ویرایشگر MS Word انجام می دهید.

1. در میدان "عنوان را وارد کنید"، عنوان پست را مشخص کنید.

2. استفاده از پنل "بارگیری/چسباندن"، می توانید تصاویر و فایل های رسانه ای لازم را دانلود و در پست خود قرار دهید.

3. با استفاده از زبانه های "Visual" و "HTML"، می توانید به ویرایش کد HTML بروید یا در یک محیط بصری کار کنید.

4. با استفاده از ابزار پنل می توانید متن را قالب بندی کنید. با کلیک بر روی آیکون مربوطه، یک پنل اضافی با ابزارهای بسیار کاربردی باز خواهید شد.

ابتدا یک عنوان پست اضافه کنید، بعد از اینکه عنوان را مشخص کردید و مکان نما را در قسمت متن ویرایشگر قرار دادید، به صورت خودکار یک لینک دائمی در زیر عنوان ایجاد می شود که برای این پست استفاده می شود. ما پیوندهای دائمی را در درس تنظیم کردیم: "".

درج متن

اگر متون خود را در ویرایشگر MS Word آماده می کنید، سپس آنها را مستقیماً در پنجره ویرایشگر کپی نکنید، از ابزار "Paste from Word" استفاده کنید.

برای انجام این کار، متن را در Word کپی کنید، سپس به ویرایشگر وردپرس بروید و روی نماد “Paste from Word” کلیک کنید، سپس متن را در پنجره باز شده قرار دهید و روی دکمه “Paste” کلیک کنید.

اگر متنی را از Word مستقیماً در ویرایشگر متن وردپرس بچسبانید، در پشت متن کدهای غیرضروری زیادی را کپی می‌کنید که مسئول قالب‌بندی متن هستند. در نتیجه، اندازه صفحه خود را افزایش خواهید داد، به علاوه وجود مقدار زیادی کد غیر ضروری مورد توجه موتورهای جستجو قرار نمی گیرد.

درج یک تصویر در متن

برای درج یک تصویر در متن، مکان نما را در جایی از متن قرار دهید که می خواهید تصویر را در آن درج کنید و روی نماد "درج تصویر" کلیک کنید:

در نتیجه، پنجره ای با سه تب بارگذاری می شود. با استفاده از برگه «از رایانه»، می‌توانید هر تصویری را که در رایانه‌تان قرار دارد دانلود و وارد کنید. با استفاده از برگه «از سایت»، می‌توانید مسیر تصویری را که قبلاً در هر سایتی قرار دارد، مشخص کنید و با استفاده از تب «کتابخانه فایل»، می‌توانید هر تصویری را از کتابخانه رسانه وارد کنید. کتابخانه رسانه تمام فایل هایی را که قبلا دانلود کرده اید ذخیره می کند.

به عنوان مثال، بیایید تصویری را از رایانه وارد کنیم. برای انجام این کار، روی دکمه "انتخاب فایل ها" کلیک کنید، تصویر مورد نظر را انتخاب کنید و روی دکمه "باز کردن" کلیک کنید. در نتیجه تصویر بارگذاری می شود. پس از آپلود تصویر، پنجره ای در مقابل شما ظاهر می شود که با استفاده از ابزارهای آن می توانید ویژگی های خاصی از تصویر را تنظیم کنید.

قسمت عنوان مورد نیاز است. می توانید فیلدهای باقیمانده «متن»، «امضا» و «توضیحات» را به دلخواه پر کنید.

در قسمت "پیوند" می توانید پیوندی را تنظیم کنید که به تصویر می رود. به طور پیش فرض، پیوند به تصویر می رود، اگر روی دکمه "پیوند به پست" کلیک کنید، لینک از تصویر به خود پست می رود، اگر روی دکمه "خیر" کلیک کنید، دیگر خبری نیست. ارتباط دادن.

در مورد "Alignment" می توانید موقعیت تصویر را در صفحه تنظیم کنید.

در مورد "Size" می توانید اندازه تصویر را تنظیم کنید.

پس از تعیین تمام پارامترها، بر روی دکمه "درج در پست" کلیک کنید و تصویر درج می شود.

تگ «بعدی» را وارد کنید.

فرمت ضبط را انتخاب کنید.

با شروع نسخه 3.X وردپرس، فرمت های پست معرفی شدند. با استفاده از فرمت ها، می توانید نوع خاصی از نمایش پست را انتخاب کنید. این ویژگی به توسعه دهندگان قالب اجازه می دهد تا بسته به نیاز خود انواع مختلفی از پست ها را ایجاد کنند. قالب نصب شده در WordPrees به طور پیش فرض از سه فرمت نمایش پست استفاده می کند:

قالب های پست را می توان در پانل سمت راست ویرایشگر انتخاب کرد. فرمت‌های پست فقط در قالب‌های وردپرس نسخه 3.X موجود است. در مجموع از 10 فرمت پست پشتیبانی می‌شود، در دسترس بودن آنها به موضوعی که استفاده می‌کنید بستگی دارد. هنگام استفاده از یک فرمت یا فرمت دیگر، تگ کنید کلاس مربوطه تنظیم شده است که با کمک آن می توان به یک قالب پست داده شده یک طرح خاص با استفاده از CSS داد.

اخیراً یکی از خوانندگان ما پرسید که آیا راهی برای افزودن محتوا از صفحه وردپرس به صفحه یا پست دیگری وجود دارد یا خیر. در این مقاله به شما نشان خواهیم داد که چگونه محتوا را از یک صفحه وردپرس به پست، صفحه یا هر نوع پست سفارشی دیگری وارد کنید.

ابتدا باید افزونه Insert Pages را نصب و فعال کنید. پس از فعال سازی، به سادگی به بخش مراجعه کنید پست ها » افزودن جدیدپنل مدیریتی سایت به منظور مشاهده در عمل.

اگر از یک ویرایشگر بصری استفاده می کنید، متوجه دکمه جدیدی در منو خواهید شد که نام دارد "درج صفحه".

با کلیک بر روی آن یک پنجره پاپ آپ ظاهر می شود که در آن می توانید صفحه، پست یا نوع پست سفارشی را که می خواهید اضافه کنید انتخاب کنید.

با کلیک کردن بر روی آن می توانید نحوه درج در یک پست/صفحه را انتخاب کنید گزینه ها. به‌طور پیش‌فرض، می‌توانید عنوان، محتوا، پیوند اضافه کنید یا یک الگوی سفارشی انتخاب کنید. در ادامه مقاله بیشتر در مورد قالب های سفارشی به شما خواهیم گفت.

پس از انتخاب پست/صفحه، روی دکمه کلیک کنید درج صفحه. برای اضافه کردن کد کوتاه مورد نیاز برای نمایش پست/صفحه ای که انتخاب کرده اید، افزونه کنید.

اگر از یک ویرایشگر متن برای نوشتن پست های خود استفاده می کنید، می توانید کد کوتاه را به صورت دستی جایگذاری کنید. گزینه های کد کوتاه بسیار ساده هستند.

پارامتر صفحه برای کد کوتاه اسلاگ صفحه یا شناسه آن را می پذیرد. لطفاً توجه داشته باشید که Slug می تواند هر نوع پستی باشد، نه لزوماً یک صفحه.

همچنین می توانید شناسه ورودی را مشخص کنید. قبلاً در مورد چگونگی پیدا کردن شناسه یک پست در وردپرس نوشته ایم.

افزودن انواع پست سفارشی به ورودی های وبلاگ

با استفاده از وردپرس، می توانید با ایجاد انواع پست برای انواع مختلف محتوا، هر نوع محتوا را اضافه کنید.

افزونه Insert Pages به شما اجازه می دهد تا انواع پست سفارشی را به صفحات و پست های وبلاگ اضافه کنید. به عنوان مثال، می توانید یک نوع پست سفارشی برای گالری تصاویر ایجاد کنید و سپس از Insert Pages برای افزودن آن گالری ها به پست ها یا صفحات خود استفاده کنید.

به همین ترتیب، می توانید انواع پست سفارشی برای ویدئوها، نمونه کارها، نظرات مشتریان و غیره ایجاد کنید. برای افزودن آنها به پست ها/صفحات

استفاده از الگوهای سفارشی برای نمایش صفحات درج شده

Insert Pages به شما امکان می دهد عنوان، پیوند، محتوا یا تمام فیلدهای صفحات درج شده را نمایش دهید. با این حال، برخی از کاربران ممکن است به تنظیمات خروجی دقیق تری نیاز داشته باشند. این را می توان با استفاده از قالب های سفارشی به دست آورد.

تنها کاری که باید انجام دهید این است که یک فایل php خالی بسازید و آن را در پوشه تم خود آپلود کنید. نام فایل را می توان هر چه دوست داشتید. به عنوان مثال، custom-author.php.

این قالب سفارشی دقیقاً مانند هر فایل قالب محتوای دیگری در موضوع شما کار می کند. در زیر نمونه ای از فایل قالبی است که برای نمایش صفحات نویسنده ایجاد کردیم.

می توانید از کلاس های CSS سفارشی در فایل قالب خود استفاده کنید و سپس استایل ها را در فایل شیوه نامه تم اعمال کنید. برای طراحی صفحه نویسنده از کد زیر استفاده کردیم.

H3.author-name ( اندازه فونت:16px; .author-Thumbnail ( float:left; padding:10px; ) .author-bio ( font-style:italic; font-family: Lora, Georgia, Serif; )

این چیزی است که نسخه نهایی به نظر می رسد:

امیدواریم این مقاله به شما کمک کرده باشد که محتوا را از یک صفحه/پست وردپرس به صفحه دیگر اضافه کنید.

اگر نیاز به درج قطعات کد در پست ها یا صفحات یک وب سایت وردپرسی دارید، پست امروز ما برای شما مفید خواهد بود. این می تواند مفید باشد، به عنوان مثال، زمانی که شما آموزش های برنامه نویسی را منتشر می کنید و نیاز به درج کدهای کوچک به عنوان نمونه در پست های خود دارید. از این گذشته، اغلب لازم است که نمونه کد منبع خوانندگان خود را در PHP، جاوا اسکریپت، CSS یا هر زبان برنامه نویسی دیگری نشان دهید.

به طور پیش فرض، وردپرس هر کد خام اضافه شده به پست ها، صفحات، ابزارک ها یا نظرات را فیلتر می کند. این کار برای اهداف امنیتی انجام می شود تا کد برنامه قابل اجرا نباشد. به عنوان مثال، اگر ابتدا یک پست در Word یا هر ویرایشگر متنی بنویسید و سپس این متن را در قسمت ویرایش پست در کنسول وردپرس قرار دهید، موتور به طور خودکار برخی از کاراکترها را تبدیل می کند. به عنوان مثال، نماد< в режиме просмотра Текст будет преобразован в < . Т.е., если вы вставляете в Визуальном режиме, например, фрагмент кода, который начинается с

در واقع اگر متن منبع را Paste نکنید، بلکه مستقیماً در حالت ویرایشگر ویژوال بنویسید، همین نتیجه اتفاق می افتد. اما، اگر کد را مستقیماً در حالت متن بنویسید، سیستم، دوباره به دلایل امنیتی، کد شما را نظر می دهد و برخی از کاراکترهای خاص را به طور کلی حذف می کند.

برای مثال سعی کنید در حالت Text بنویسید:

هنگامی که به حالت ویژوال (یا پس از انتشار پست) می روید، متن مورد نظر را نمی بینید سلام دنیا!زیرا سیستم آن را مخفی کرد تا قابل اجرا نباشد. اینجاست که به مشکل می رسیم: چگونه کد برنامه را در پست های وردپرس نمایش دهیم؟

یک راه آسان برای نمایش کد در وردپرس

ساده ترین راه برای افزودن کد به پست های خود این است که کد برنامه را در حالت متن با یک تگ HTML قرار دهید.

این تگ برای نمایش کد همانطور که چاپ شده است، یعنی با تمام فاصله ها، کاراکترهای خاص و موارد مشابه در نظر گرفته شده است.  البته می‌توان از این تگ استفاده نکرد، بلکه با استفاده از موجودیت‌های HTML، همه کدهای برنامه را به طور همزمان نوشت، اما این یک رویکرد بسیار پیچیده است.  نوشتن کد لازم در حالت ویژوال ویرایش یک نشریه بسیار ساده تر است و سپس به حالت متن بروید و قطعه مورد نظر را با برچسب ها قاب بندی کنید. 
........
، و در عین حال تمام کاراکترهای برنامه نویسی "خطرناک" به طور خودکار به موجودیت های HTML تبدیل می شوند.

به عنوان مثال، کد بالا در حالت Text به شکل زیر است:

برچسب بزنید

یک عنصر ایده آل برای بلوک های بزرگ کد است زیرا به شما امکان می دهد تمام فضاها، برگه ها و موارد مشابه را حفظ کنید.

برای بلوک های کوچک کد، می توانید از یک تگ HTML5 که به طور خاص برای کد طراحی شده است استفاده کنید - . در حالت ویرایش متن در وردپرس حتی یک کد کوتاه مخصوص برای این وجود دارد. هنگام ویرایش یک پست، قطعه مورد نظر را انتخاب کنید و روی دکمه کد در نوار ابزار کلیک کنید و این قطعه با برچسب ها قاب می شود. ........ .

برچسب بزنید

- مسدود کردن، و برچسب - inline، یعنی اکثر مرورگرها آن را به صورت نمایشگر نمایش می دهند: inline;  و می توان آن را مستقیماً در پاراگراف نشان داد و نه در یک خط جدید.

روشی پیچیده برای نمایش کد در وردپرس

به عنوان یک راه پیچیده برای نمایش کد برنامه، من افزونه های ویژه ای را برای این کار در نظر گرفته ام (به عنوان مثال، Crayon Syntax Highlighter، Syntax Highlighter Evolved و مانند آن). ممکن است کسی استدلال کند که برعکس، این یک روش ساده است، اما من معتقدم که انواع پلاگین های فانتزی فقط همه چیز را پیچیده می کنند. اغلب اوقات می توانید موقعیتی را در وب سایت ها پیدا کنید که کدهای طراحی شده قبلی با استفاده از کدهای کوتاه افزونه همچنان پس از مدتی در مرورگر نمایش داده می شود، به عنوان مثال:

اما باید یک طراحی زیبا و برجسته سازی نحوی وجود داشته باشد. اغلب، چنین پلاگین هایی با نسخه های جدید موتور سازگار نیستند، یا مدیران وب اغلب فراموش می کنند آنها را به روز کنند. یا بدتر از آن، آنها از چندین مورد از این افزونه ها به طور همزمان استفاده می کنند.

بله، چنین پلاگین‌هایی با استفاده از جاوا اسکریپت و CSS به خوبی برجسته‌سازی نحو را انجام می‌دهند، اما عمدتاً برای سیستم «سنگین» هستند و برجسته‌سازی نحو اولیه را می‌توان بدون افزونه، با استفاده از چندین کلاس برای div، span، کد و pre انجام داد. برچسب ها و همچنین چندین خط از سبک های CSS.

انتخاب باشماست!

و من می خواهم استفاده از خدمات شخص ثالث را به عنوان روشی پیچیده برای درج کد در صفحات وردپرس در نظر بگیرم. سایت های زیادی وجود دارند که می توانید تقریباً هر کدی را در آنها بنویسید و همانطور که باید نمایش داده می شود. نمونه هایی از این خدمات: CodePen، GitHub Gists و JSFiddle.

آنها برجسته سازی نحو بسیار خوبی و حتی یک نمای دمو از نتیجه اجرای کد ارائه می کنند، اما پیچیدگی آنها در نیاز به استفاده از iframe یا کتابخانه های خارجی جاوا اسکریپت برای درج است. من از این روش فقط برای نمایش یک نسخه نمایشی از نتیجه اجرای کد استفاده می کنم.

نتیجه

همانطور که می بینید، افزودن کد به سایت وردپرس کار چندان دشواری نیست، اما همچنان باید راه حل های اساسی برای این کار را بدانید.

اگر راه حل دیگری برای افزودن کد به پست ها/صفحات وردپرس دارید، لطفاً در نظرات زیر با ما در میان بگذارید.

جدید در سایت

>

محبوبترین