beh9am

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

20 پست در این موضوع قرار دارد

سلام

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

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

0

به اشتراک گذاری این پست


لینک به پست

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

0

به اشتراک گذاری این پست


لینک به پست

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


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 یا هر چیز دیگه ای بذاری (بدون تکرار اسم ها)

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

به اشتراک گذاری این پست


لینک به پست

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


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

0

به اشتراک گذاری این پست


لینک به پست

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

0

به اشتراک گذاری این پست


لینک به پست

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

0

به اشتراک گذاری این پست


لینک به پست

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

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

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

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

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

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

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

0

به اشتراک گذاری این پست


لینک به پست

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

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

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

موفق باشید

0

به اشتراک گذاری این پست


لینک به پست

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

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

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

2

به اشتراک گذاری این پست


لینک به پست

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

منم اوایل که اومدم سمت وردپرس برنامه نویسیم در حد خیلی مبدتی بود و خیلی اذیت شدم و سوال های عجیبی هم میپرسیدم 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
0

به اشتراک گذاری این پست


لینک به پست

همچنان منتظر دوستان ...

0

به اشتراک گذاری این پست


لینک به پست

دوستان میشه کمک کنید؟

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

0

به اشتراک گذاری این پست


لینک به پست

ارسال شده در (ویرایش شده)

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

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

ویرایش شده در توسط beh9am
0

به اشتراک گذاری این پست


لینک به پست

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

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

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

0

به اشتراک گذاری این پست


لینک به پست

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

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

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

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

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

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

0

به اشتراک گذاری این پست


لینک به پست

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

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

0

به اشتراک گذاری این پست


لینک به پست

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

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

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

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

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

0

به اشتراک گذاری این پست


لینک به پست

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

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

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

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

این خط را


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 نام پوشه افزونه تون رو وارد کنید

1

به اشتراک گذاری این پست


لینک به پست

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

این خط را


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 بهش معرفی نشده و کدهاش قدیمی هست برای اینو نمیتونه تشخیص بده

0

به اشتراک گذاری این پست


لینک به پست

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(){

1

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

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

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری