رفتن به مطلب

روش صحیح لود فایل های اسکریپت و استایل در وردپرس


beh9am

پست های پیشنهاد شده

سلام

من یک مشکلی دارم با یک افزونه که این افزونه قدیمی هست و 3 ساله آپدیت نشده اما من اینو لازم دارم ولی چون آدرساش به روش قدیمی داده شده مشکل ایجاد میکنه

مثلا به این روش :


<script type="text/javascript" src="<?php echo $this->info['url']."/wp-thread-comment.js.php?jsver=adminajax"; ?>"></script>

یا این :


echo "<script type=\"text/javascript\" src=\"".$this->info['url']."/wp-thread-comment.js.php?jsver=ajax&wpajaxeditcomments=true\"></script>\n";

چطور میتونم اینو به روش استاندارد تبدیل کنم و فراخوانی بکنم ؟

لینک به ارسال

من الان با wp_enqueue_script هم خواستم درست کنم اما نشد یعنی اضافه نمیکنه نمیدونم پسوند شاید اشتباه باشه

لینک به ارسال

کافیه یه سرچ کنید !


function theme_name_scripts() {
wp_enqueue_style( 'style-name', get_stylesheet_uri() );
wp_enqueue_script( 'script-name', get_template_directory_uri() . '/js/example.js', array(), '1.0.0', true );
}
add_action( 'wp_enqueue_scripts', 'theme_name_scripts' );

منبع

برای هر فایل باید یه نام مثل script-name یا هر چیز دیگه ای بذاری (بدون تکرار اسم ها)

ویرایش شده توسط ایگل دیزاین
لینک به ارسال

کافیه یه سرچ کنید !


function theme_name_scripts() {
wp_enqueue_style( 'style-name', get_stylesheet_uri() );
wp_enqueue_script( 'script-name', get_template_directory_uri() . '/js/example.js', array(), '1.0.0', true );
}
add_action( 'wp_enqueue_scripts', 'theme_name_scripts' );

منبع

تشکر

من خیلی سرچ کردم این کد شمارو هم خیلی سایت ها گذاشتن اما طرز استفادش رو نمیدونم برای این افزونه

الان افزونه به این شکل اضافه میکنه به قسمت کامنت ها


<script type="text/javascript" src="http://www.site.ir/wp-content/plugins/wordpress-thread-comment/wp-thread-comment.js.php?jsver=ajax&wpajaxeditcomments=true"></script>

حالا من نمیدونم چجوری فایل افزونرو تغییر بدم که درست بشه

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


echo "<script type=\"text/javascript\" src=\"". $this->info['url'] . "/wp-thread-comment.js.php?jsver=common\"></script>\n";

که این اشتباهه و باید با روش استاندارد وردپرس که فکر کنم آدرس ها با plugin_url فراخوانی میشن استفاده بشه یعنی همون wp_enqueue_script

لینک به ارسال

باید برنامه نویسی یاد بگیرید

در حال یادگیری هستم ممنون

تو همین چند ماه هم تو همینانجمن چیزای زیادی یاد گرفتم

ولی برای این مشکل باید صبرکنم تا برنامه نویسیم کاملب بشه؟

داخل یکی از فایل های function افزونه با دستور enqeue لود کنید.

افزونه فایل فانکشن نداره

بخدا منم میدونم باید لود کنم اما هرجوری لود میکنم کار نمیکنه

لینک به ارسال

بلاخره باید برنامه نویسی در حد متوسط یاد بگیرید

منم اوایل که اومدم سمت وردپرس برنامه نویسیم در حد خیلی مبدتی بود و خیلی اذیت شدم و سوال های عجیبی هم میپرسیدم D:

پس باید اصول و فانکشن های پایه ی php رو نه در حد متوسط یاد بگیرید

موفق باشید

لینک به ارسال

سلام. توی کد بالا به جای استفاده از get_template_directory از تابع plugin dir url استفاده کنید.

https://codex.wordpress.org/Function_Reference/plugin_dir_url

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

لینک به ارسال

بلاخره باید برنامه نویسی در حد متوسط یاد بگیرید

منم اوایل که اومدم سمت وردپرس برنامه نویسیم در حد خیلی مبدتی بود و خیلی اذیت شدم و سوال های عجیبی هم میپرسیدم D:

پس باید اصول و فانکشن های پایه ی php رو نه در حد متوسط یاد بگیرید

موفق باشید

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

هرکسی تو کار و حوضه تخصص خودش هست نمیشه به خاطر نیاز من به برنامه نویس خودم برم برنامه نویس بشم !!!

سلام. توی کد بالا به جای استفاده از get_template_directory از تابع plugin dir url استفاده کنید.

https://codex.wordpr.../plugin_dir_url

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

تشکر اما هیچی نفهمیدم

ببینید این افزونه اون فایل را در قسمت کامنت ها اضافه میکنه و کد کلیش هم اینه :


function addreplyidformfield(){
$user = wp_get_current_user();
$user = isset($user->display_name) ? "\"{$user->display_name}\"" : 'false';

echo '<p><input type="hidden" id="comment_reply_ID" name="comment_reply_ID" value="0" />';
echo '<input type="hidden" id="comment_reply_dp" name="comment_reply_dp" value="0" /></p>';
echo '<div id="cancel_reply" style="display:none;"><a href="javascript:void(0)" onclick="movecfm(null,0,1,null);" style="color:red;">' . $this->options['cancel_reply'] . '</a></div>';
if($this->options['mail_notify'] === 'parent_check')
echo '<p><input type="checkbox" name="comment_mail_notify" id="comment_mail_notify" value="comment_mail_notify" checked="checked" style="width: auto;" /><label for="comment_mail_notify" style="display: inline;">' . __('Notify me of follow-up comments via e-mail', 'wp-thread-comment') . '</label></p>';
elseif($this->options['mail_notify'] === 'parent_uncheck')
echo '<p><input type="checkbox" name="comment_mail_notify" id="comment_mail_notify" value="comment_mail_notify" style="width: auto;" /><label for="comment_mail_notify" style="display: inline;">' . __('Notify me of follow-up comments via e-mail', 'wp-thread-comment') . '</label></p>';
else{}
echo "<script type=\"text/javascript\">\n/* <![CDATA[ */\nvar commentformid = \"". $this->options['comment_formid'] . "\";\nvar USERINFO = {$user};\nvar atreply = \"". $this->options['at_reply'] . "\";\n/* ]]> */\n</script>\n";
unset($user);



// اینجا کد رو اضافه میکنه :



echo "<script type=\"text/javascript\" src=\"". $this->info['url'] . "/wp-thread-comment.js.php?jsver=common\"></script>\n";
if($this->options['comment_ajax'] === 'yes' && $this->cap['programflag'] === 0){
$this->cap['programflag'] = 2;
}elseif($this->options['comment_ajax'] === 'yes' && $this->cap['programflag'] === 1){
$this->outputjs();
unset($this->comment_childs);
}else{}
}

حالا چون از پلاگینی استفاده میکنم که فایل هارو با روش استاندارد وردپرس یا همون plugin_dir_url میشناسه و این افزونه کامنت قدیمی هست فایل های اینو تشخیص نمیده

ویرایش شده توسط beh9am
لینک به ارسال
  • 2 هفته بعد...
  • 3 هفته بعد...

دوستان حداقل راه wp_enqueue_script رو بگید امتحان کنم شاید درست شد

چون فایل js افزونه به صورت php هستش نمیتونم درست کنم و آدرس بدم

ویرایش شده توسط beh9am
لینک به ارسال

دوستان که راهنمایی کردند

الآن مشکلتون کجاست ؟

همین کدی که دادید باید درست کار کنه و مشکلی نداره ( تست کردم )

لینک به ارسال
  • 4 هفته بعد...

دوستان که راهنمایی کردند

الآن مشکلتون کجاست ؟

همین کدی که دادید باید درست کار کنه و مشکلی نداره ( تست کردم )

کار کردنش اره کار میکنه اما من از یک افزونه استفاده میکنم که تغییر میده آدرس فایل هارو

اما این افزونه چون قدیمیه نمیتونه آدرس اینو تشخیص بده

حالا سوال منم همینه که چطوری آدرس دهی این افزونرو به روز کنم ؟

لینک به ارسال

دوست عزیز تو این دوماه هنوز مشکلتون حل نشده ؟ !!!!

همون اول که من بهتون گفتم

لینک به ارسال

دوست عزیز تو این دوماه هنوز مشکلتون حل نشده ؟ !!!!

همون اول که من بهتون گفتم

اگه حل شده بود که تاپیک را بالا نمیوردم

نه شما یه چیز دیگه گفتید که بهتون پاسخ دادم

مشکل من لود کردن فایل نیست مشکل من نوع آدرسش هست که تو پست هام گذاشتم

لینک به ارسال

اگه حل شده بود که تاپیک را بالا نمیوردم

نه شما یه چیز دیگه گفتید که بهتون پاسخ دادم

مشکل من لود کردن فایل نیست مشکل من نوع آدرسش هست که تو پست هام گذاشتم

چه اصراریبه دادن داینامیک نشانی دارید

این خط را


echo "<script type=\"text/javascript\" src=\"". $this->info['url'] . "/wp-thread-comment.js.php?jsver=common\"></script>\n";

به


echo "<script type=\"text/javascript\" src=\"http://site.com/wp-content/plugins/plugin-name/wp-thread-comment.js.php?jsver=common\"></script>\n";

تغییر بدید بجای site.com نشانی سایتتون و بجای plugin-name نام پوشه افزونه تون رو وارد کنید

لینک به ارسال

چه اصراریبه دادن داینامیک نشانی دارید

این خط را


echo "<script type=\"text/javascript\" src=\"". $this->info['url'] . "/wp-thread-comment.js.php?jsver=common\"></script>\n";

به


echo "<script type=\"text/javascript\" src=\"http://site.com/wp-content/plugins/plugin-name/wp-thread-comment.js.php?jsver=common\"></script>\n";

تغییر بدید بجای site.com نشانی سایتتون و بجای plugin-name نام پوشه افزونه تون رو وارد کنید

تشکر استاد ممنون که بالاخره جواب دادید

ببینید آقای فخار من از افزونه hide my wp استفاده میکنم این افزونه لینک هارو تغییر میده مثلا از site.com/wp-plugin/js/ajax.js تبدیلش میکنه به site.com/majol/ajax.js

حالا الان با همه افزونه ها درسته و درست تغییر میده امکا این افزونه چون به صورت استاندارد فایل js بهش معرفی نشده و کدهاش قدیمی هست برای اینو نمیتونه تشخیص بده

لینک به ارسال

1. این افزونه hide my wp رو اگر برای امنیت سایتتون ریختید که تاثیری نداره چون یک هکر نیازی به خوندن این نشانی ها برای هک سایت نداره و فقط سایتتون رو کند می کنه

2. اون خط کد رو کلا حذفش کنید و


function fakhar_scripts() {
if( !is_admin() ) {
wp_enqueue_script( 'thread_comment', plugins_url( 'wp-thread-comment.js.php', __FILE__ ) );
}
}

add_action( 'wp_enqueue_scripts', 'fakhar_scripts' );

رو بگذارید

قبل از


function addreplyidformfield(){

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...