سلام خدمت استاد صالحی و منتورهای گرامی، وقتتون بخیر. من دوتا سوال داشتم،
سوال اول من بخش ایجکس رو اومدم با استفاده از alpine js هندل کردم و به خوبیم کار میکنه فقط تنها بدیش اینکه باید کدهای جاوا اسکریپتشو دقیقا زیر فایلهای html بزارم و وقتی که این فایل رو جدا میکنم میبرمش داخل یک پوشه دیگه به درستی کار نمیکنه میخواستم بدونم چطوری میشه از alpine توی یه فایل خارجی استفاده کرد؟ اینم بگم من همه پیشنیاز هارو رعایت کردم
این نمونه کد منه توی alpine js :
<h2>form</h2>
<form x-data="formHandler()" @submit.prevent="submitForm">
<label for="name">name:</label>
<input type="text" name="name" id="name" x-model="formData.name">
<label for="password">password</label>
<input type="password" name="password" id="password" x-model="formData.password">
<input type="submit" value="submit">
</form>
<script>
function formHandler() {
return {
formData: {
name: '',
password: ''
},
submitForm() {
const ajaxUrl = '<?= admin_url( 'admin-ajax.php' ); ?>';
const data = new FormData();
data.append('action', 'alpine_custom_ajax');
data.append('name', this.formData.name);
data.append('password', this.formData.password);
fetch(ajaxUrl, {
method: 'POST',
body: data,
})
.then(data => {
console.log(data);
alert("ok");
})
.catch(error => {
console.error('Error:', error);
});
}
}
}
</script>
اینم بخشی که میره توی حالت فایل جداگانه :
wp_enqueue_script(
'ajax-alpine',
BP_PLUGIN_ASSETS.'js/ajax-alpine.js',
['alpinejs'],
'1.0.0',
[
'strategy' => 'defer',
'in_footer' => true
]
);
$localized_data = array(
'adminAjaxUrl' => admin_url('admin-ajax.php'),
);
wp_localize_script('ajax-alpine', 'alpineData', $localized_data);
// file scripts:
function formHandler() {
return {
formData: {
name: '',
password: ''
},
submitForm() {
const ajaxUrl = alpineData.adminAjaxUrl;
const data = new FormData();
data.append('action', 'alpine_custom_ajax');
data.append('name', this.formData.name);
data.append('password', this.formData.password);
fetch(ajaxUrl, {
method: 'POST',
body: data,
})
.then(data => {
console.log(data);
alert("ok");
})
.catch(error => {
console.error('Error:', error);
});
}
}
}
سوال دومم اینکه چطوری میتونم صفحه بندی که توی صفحه فرانت سایت رو داریم به داشبورد وردپرس اضافه کنم؟ تو حالتی که استاد آموزش دادن استفاده کردن درست صفحه رو نشون نمیده اون page رو میاره قبل از ادرس پنل ادمین اضافه میکنه. راه حلی براش دارین؟ امیدوارم منظورم رو درست رسونده باشم
یعنی اینطوری :

خیلی ممنونم