ورود

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : انتقال لینک imdb داخل content به داخل زمینه دلخواه



mgt1234
January 30th, 2017, 13:18
سلام دوستان
میخوام لینکهای imdb که داخل پستامون داریم رو کپی کنم همشو توی یه زمینه دلخواه
میشه راهنمایی کنید در این مورد؟
فقط خواهشا جواب بدین جدیدا تاپیکا بی جواب می مونه همش!
کارم لنگه :(

T.Toosi
January 30th, 2017, 16:30
سلام، کد زیر رو در فایل single.php بزارید آیدی imdb هارو اگر داخل متن پست پیدا کنه داخل پست متا imdb_meta ذخیره میکنه.


<?php
if( !get_post_meta( get_the_ID(), 'imdb_meta', true) ) {
preg_match_all('/imdb.com\/title\/(.*?)"/', get_the_content(), $imdb);
exit($imdb[1][0].'test');
if($imdb[1][0]) add_post_meta( get_the_ID(), 'imdb_meta', $imdb[1][0] );
}
?>

mgt1234
January 30th, 2017, 17:09
سلام، کد زیر رو در فایل single.php بزارید آیدی imdb هارو اگر داخل متن پست پیدا کنه داخل پست متا imdb_meta ذخیره میکنه.


<?php
if( !get_post_meta( get_the_ID(), 'imdb_meta', true) ) {
preg_match_all('/imdb.com\/title\/(.*?)"/', get_the_content(), $imdb);
if($imdb[1]) add_post_meta( get_the_ID(), 'imdb_meta', $imdb[1] );
}
?>

ممنون قرار دادم اما متاسفانه عملکردی نداره!
زمینه دلخواه رو خودش میسازه؟

mgt1234
January 30th, 2017, 19:48
سلام، کد زیر رو در فایل single.php بزارید آیدی imdb هارو اگر داخل متن پست پیدا کنه داخل پست متا imdb_meta ذخیره میکنه.


<?php
if( !get_post_meta( get_the_ID(), 'imdb_meta', true) ) {
preg_match_all('/imdb.com\/title\/(.*?)"/', get_the_content(), $imdb);
if($imdb[1]) add_post_meta( get_the_ID(), 'imdb_meta', $imdb[1] );
}
?>

اینو که میفرمایید داخل فایل سینگل قرار بدم خب چجوری این کد اجرا میشه که کارشو انجام بده؟ هروقت پست باز بشه؟
هرچند در کل عملکردی نداره
امکانش نیست یه صفحه php باشه که از قسمت برگه های وردپرس اضافه کنیم قالب رو قالب اون صفحه ی پی اچ پی بذاریم و یه دکمه submit توی اون صفحه باشه، ما صفحه رو باز کنیم با هربار کلیک روی دکمه ی submit مثلا روی 200 پست آخر این عملیات اجرا بشه؟
قبلا یادمه یه بار اینکارو از این روش انجام دادیم ولی متاسفانه کدش رو نتونستم پیدا کنم.

T.Toosi
January 30th, 2017, 22:00
اینو که میفرمایید داخل فایل سینگل قرار بدم خب چجوری این کد اجرا میشه که کارشو انجام بده؟ هروقت پست باز بشه؟
هرچند در کل عملکردی نداره
امکانش نیست یه صفحه php باشه که از قسمت برگه های وردپرس اضافه کنیم قالب رو قالب اون صفحه ی پی اچ پی بذاریم و یه دکمه submit توی اون صفحه باشه، ما صفحه رو باز کنیم با هربار کلیک روی دکمه ی submit مثلا روی 200 پست آخر این عملیات اجرا بشه؟
قبلا یادمه یه بار اینکارو از این روش انجام دادیم ولی متاسفانه کدش رو نتونستم پیدا کنم.

کد بالا چک میکنه اگر زمینه دلخواه imdb_meta وجود نداشت، اگر imdb رو پیدا کردن یک زمینه دلخواه به این اسم میسازه و مقدار آیدی imdb رو ذخیره میکنه داخلش. کد بالا هم هروقت هر پستی رو باز کنید این اتفاق میوفته، حالا این حالتی که شما میگی اینجا نمیشه گفت باید حلقه بنویسید برای پست ها دونه دونه چک کنه و ..

mgt1234
January 30th, 2017, 22:02
کد بالا چک میکنه اگر زمینه دلخواه imdb_meta وجود نداشت، اگر imdb رو پیدا کردن یک زمینه دلخواه به این اسم میسازه و مقدار آیدی imdb رو ذخیره میکنه داخلش. کد بالا هم هروقت هر پستی رو باز کنید این اتفاق میوفته، حالا این حالتی که شما میگی اینجا نمیشه گفت باید حلقه بنویسید برای پست ها دونه دونه چک کنه و ..

صحیح
اما کدی که دادید متاسفانه عمل نمیکنه! کاری که میگید رو انجام نمیده
لازم به ذکره که ما چندتا فایل سینگل روی قالبمون داریم
یکیش اینه : movie.php که من کد رو داخل همین گذاشتم و عملکردی نداره با باز کردن پست

T.Toosi
January 30th, 2017, 22:05
صحیح
اما کدی که دادید متاسفانه عمل نمیکنه! کاری که میگید رو انجام نمیده
لازم به ذکره که ما چندتا فایل سینگل روی قالبمون داریم
یکیش اینه : movie.php که من کد رو داخل همین گذاشتم و عملکردی نداره با باز کردن پست


<?php
if( !get_post_meta( get_the_ID(), 'imdb_meta', true) ) {
preg_match_all('/imdb.com\/title\/(.*?)"/', get_the_content(), $imdb);
exit($imdb[1].'test');
if($imdb[1]) add_post_meta( get_the_ID(), 'imdb_meta', $imdb[1] );
}
?>


کد بالارو بزارید ببنید اصلا regex ای که دادم imdb رو پیدا میکنه یا نه.

mgt1234
January 30th, 2017, 22:13
<?php
if( !get_post_meta( get_the_ID(), 'imdb_meta', true) ) {
preg_match_all('/imdb.com\/title\/(.*?)"/', get_the_content(), $imdb);
exit($imdb[1].'test');
if($imdb[1]) add_post_meta( get_the_ID(), 'imdb_meta', $imdb[1] );
}
?>


کد بالارو بزارید ببنید اصلا regex ای که دادم imdb رو پیدا میکنه یا نه.

این خروجی رو میده : Arraytest

T.Toosi
January 30th, 2017, 22:17
این خروجی رو میده : Arraytest


<?php
if( !get_post_meta( get_the_ID(), 'imdb_meta', true) ) {
preg_match_all('/imdb.com\/title\/(.*?)"/', get_the_content(), $imdb);
exit($imdb[1][0].'test');
if($imdb[1][0]) add_post_meta( get_the_ID(), 'imdb_meta', $imdb[1][0] );
}
?>

mgt1234
January 30th, 2017, 22:21
<?php
if( !get_post_meta( get_the_ID(), 'imdb_meta', true) ) {
preg_match_all('/imdb.com\/title\/(.*?)"/', get_the_content(), $imdb);
exit($imdb[1][0].'test');
if($imdb[1][0]) add_post_meta( get_the_ID(), 'imdb_meta', $imdb[1][0] );
}
?>

الان آیدی imdb رو + کلمه test خروجی میده
ولی آیدی رو add نمیکنه توی زمینه دلخواه
خروجی : tt3713030test

T.Toosi
January 30th, 2017, 22:22
الان آیدی imdb رو + کلمه test خروجی میده
ولی آیدی رو add نمیکنه توی زمینه دلخواه
خروجی : tt3713030test

اوکی حالا exit رو پاک بکنید :


<?php
if( !get_post_meta( get_the_ID(), 'imdb_meta', true) ) {
preg_match_all('/imdb.com\/title\/(.*?)"/', get_the_content(), $imdb);
if($imdb[1][0]) add_post_meta( get_the_ID(), 'imdb_meta', $imdb[1][0] );
}
?>

mgt1234
January 30th, 2017, 22:28
اوکی حالا exit رو پاک بکنید :


<?php
if( !get_post_meta( get_the_ID(), 'imdb_meta', true) ) {
preg_match_all('/imdb.com\/title\/(.*?)"/', get_the_content(), $imdb);
if($imdb[1][0]) add_post_meta( get_the_ID(), 'imdb_meta', $imdb[1][0] );
}
?>

اوکی شد خیلی ممنون :53: