سلام بنده یه افزونه وردپرسی ساختم که یه متن دلخواه رو به انتهای مقالات سایت اضافه کنه.
اما میخوام کاری کنم این متن رو مدیر سایت از داخل پیشخوان وردپرس اضافه کنه.
فلذا اومدم منوی افزونه رو به پیشخوان وردپرس اضافه کردم.
حالا چطور داخل صفحه منو افزونه تکس باکسی رو ایجاد کنم که اون کد یا متن دلخواه رو مدیر سایت اونجا وارد کنه و اضافه بشه به انتهای مقالات.
دیگه لازم نباشه برای تغییر متن بریم فایل پی اچ پی افزونه رو ویاریش بزنیم .؟
mprogrammer7@
این یه بخشی از کد یه افزونه ایه که نوشتم :
<?php
class pwfWords
{
public function addPage()
{
add_submenu_page('post-word-filter', 'کلمات فیلتر', 'کلمات فیلتر', 'manage_options', 'post-word-filter', [$this, 'createPage']);
}
public function mainPageAssets()
{
wp_enqueue_style('filterAdminCss', plugin_dir_url(__FILE__) . '../assets/css/styles.css');
}
public function createPage()
{ ?>
<div class="wrap">
<h1>کلمات فیلتر شده</h1>
<?php if ($_POST['justsubmitted'] == "true") $this->formHandle() ?>
<form method="POST">
<input type="hidden" name="justsubmitted" value="true">
<?php wp_nonce_field('saveFilterWords', 'nonce') ?>
<label for="pwf_filterwords"><p>کلماتی که می خواهید فیلتر شود , را وارد کنید و آن ها را با کاما (,) جدا کنید </ا></label>
<div class="word-filter__flex-container">
<textarea name="pwf_filterwords" id="pwf_filterwords" placeholder="مزخرف ,چرت ,بد"><?php echo esc_textarea(get_option('pwf_filterwords')) ?></textarea>
</div>
<input type="submit" name="submit" id="submit" class="button button-primary" value="ذخیره تغییرات">
</form>
</div>
<?php }
public function formHandle()
{
if (wp_verify_nonce($_POST['nonce'], 'saveFilterWords') AND current_user_can('manage_options')) {
update_option('pwf_filterwords', sanitize_text_field($_POST['pwf_filterwords'])); ?>
<div class="updated">
<p>تغییرات شما ذخیره شد</p>
</div>
<?php } else { ?>
<div class="error">
<p>متاسفیم , شما اجازه تغییر دادن کلمات را ندارید !</p>
</div>
<?php }
}
}
با برسیش خیلی راحت یاد میگیرین، فقط نکته ی مهمش اینه که
update_option("option_name", "value")
اگه فیلدی با نام برده شده در دیتابیس وردپرستون ، وجود نداشت، میسازتش و مقدار که داده شده رو داخلش قرار میده
و اگه وجود داشت مقدارش رو با مقداری که دادیدن عوض می کنه
و همچنین با
get_option("option_name")
می تونین مقداری که درون فیلد قرار داره رو بدست بیارین
به این مباحث مربوط میشه:
https://codesymphony.co/tag/settings-api/
https://developer.wordpress.org/plugins/settings/
این یه بخشی از کد یه افزونه ایه که نوشتم :
<?php
class pwfWords
{
public function addPage()
{
add_submenu_page('post-word-filter', 'کلمات فیلتر', 'کلمات فیلتر', 'manage_options', 'post-word-filter', [$this, 'createPage']);
}
public function mainPageAssets()
{
wp_enqueue_style('filterAdminCss', plugin_dir_url(__FILE__) . '../assets/css/styles.css');
}
public function createPage()
{ ?>
<div class="wrap">
<h1>کلمات فیلتر شده</h1>
<?php if ($_POST['justsubmitted'] == "true") $this->formHandle() ?>
<form method="POST">
<input type="hidden" name="justsubmitted" value="true">
<?php wp_nonce_field('saveFilterWords', 'nonce') ?>
<label for="pwf_filterwords"><p>کلماتی که می خواهید فیلتر شود , را وارد کنید و آن ها را با کاما (,) جدا کنید </ا></label>
<div class="word-filter__flex-container">
<textarea name="pwf_filterwords" id="pwf_filterwords" placeholder="مزخرف ,چرت ,بد"><?php echo esc_textarea(get_option('pwf_filterwords')) ?></textarea>
</div>
<input type="submit" name="submit" id="submit" class="button button-primary" value="ذخیره تغییرات">
</form>
</div>
<?php }
public function formHandle()
{
if (wp_verify_nonce($_POST['nonce'], 'saveFilterWords') AND current_user_can('manage_options')) {
update_option('pwf_filterwords', sanitize_text_field($_POST['pwf_filterwords'])); ?>
<div class="updated">
<p>تغییرات شما ذخیره شد</p>
</div>
<?php } else { ?>
<div class="error">
<p>متاسفیم , شما اجازه تغییر دادن کلمات را ندارید !</p>
</div>
<?php }
}
}
با برسیش خیلی راحت یاد میگیرین، فقط نکته ی مهمش اینه که
update_option("option_name", "value")
اگه فیلدی با نام برده شده در دیتابیس وردپرستون ، وجود نداشت، میسازتش و مقدار که داده شده رو داخلش قرار میده
و اگه وجود داشت مقدارش رو با مقداری که دادیدن عوض می کنه
و همچنین با
get_option("option_name")
می تونین مقداری که درون فیلد قرار داره رو بدست بیارین
سلام توی شبکه های اجتماعی هم هستی؟
امکانش هست یه راه ارتباطی بدی بتونم باهات در ارتباط باشم و چند تا سوال بپرسم؟
@Nima.nori
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟