محمد برزوی
2 سال پیش توسط محمد برزوی مطرح شد
4 پاسخ

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

سلام بنده یه افزونه وردپرسی ساختم که یه متن دلخواه رو به انتهای مقالات سایت اضافه کنه.
اما میخوام کاری کنم این متن رو مدیر سایت از داخل پیشخوان وردپرس اضافه کنه.
فلذا اومدم منوی افزونه رو به پیشخوان وردپرس اضافه کردم.
حالا چطور داخل صفحه منو افزونه تکس باکسی رو ایجاد کنم که اون کد یا متن دلخواه رو مدیر سایت اونجا وارد کنه و اضافه بشه به انتهای مقالات.

دیگه لازم نباشه برای تغییر متن بریم فایل پی اچ پی افزونه رو ویاریش بزنیم .؟

mprogrammer7@


ثبت پرسش جدید
نیما
تخصص : جوجه برنامه نویسی که میخواد فو...
@Nima.nori 2 سال پیش آپدیت شد
1

این یه بخشی از کد یه افزونه ایه که نوشتم :

<?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")
می تونین مقداری که درون فیلد قرار داره رو بدست بیارین


علیرضا غلامیان پور
تخصص : برنامه نویس و کارشناس ابزار دق...
@AlirezaQolamian 2 سال پیش مطرح شد
0

سللم فکر کنم حتما برای ویرایشش باید بری سراغ فایلت و از طریق php ویرایشش کنی. 😉


میلاد-م
تخصص : توسعه‌دهنده رابط کاربری - Fron...
@milad 2 سال پیش مطرح شد
نیما
تخصص : جوجه برنامه نویسی که میخواد فو...
@Nima.nori 2 سال پیش آپدیت شد
1

این یه بخشی از کد یه افزونه ایه که نوشتم :

<?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")
می تونین مقداری که درون فیلد قرار داره رو بدست بیارین


محمد برزوی
تخصص : طراح سایت
@mbrzyy 2 سال پیش آپدیت شد
0

سلام توی شبکه های اجتماعی هم هستی؟
امکانش هست یه راه ارتباطی بدی بتونم باهات در ارتباط باشم و چند تا سوال بپرسم؟
@Nima.nori


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام