iman64 32 ارسال شده در خرداد 94 گزارش بازنشر ارسال شده در خرداد 94 (ویرایش شده) سلام من مطالب سایت های دیگر رو با فید وردپرس میگیرم یه متنی تقریبا تکراری در همه مطالب اون ار اس اس وجود داره که میخوام تغییرش بدم یعنی هر وقت مطلب جدید وارد شد اون متن انتهایی که وارد سایت من میشه تغییر یافتش وارد بشه متنی که وجود داره این هستنوشته استخدام مرکز ترجمه تخصصی فراترجمه در تهران اولین بار در «اینجا» پدیدار شد.که میخوام بهبرای دیدن متن کامل در منبع روی عنوان مطلب کلیک کنید استخدام مرکز ترجمه تخصصی فراترجمه در تهرانتبدیل بشه ویرایش شده خرداد 94 توسط iman64 نقل قول لینک به ارسال
imanfakhar 26231 ارسال شده در خرداد 94 گزارش بازنشر ارسال شده در خرداد 94 اول از همه باید متن رو به صورت html به دست بیارید (برای اینکار سورس کد صفحه را ببینید یا نشانی آنلاین بگذارید) بعدش فایل single.php قالبتون رو باز کنید و تابع the_content();رو پیدا کنید و تغییرش بدید به $content = $post->post_content;$content = str_replace('متن فعلی <a href="#">لینک</a>', '<a href="link">متن جایگزین</a>', $content);echo $content; 3 نقل قول لینک به ارسال
iman64 32 ارسال شده در خرداد 94 مالک گزارش بازنشر ارسال شده در خرداد 94 (ویرایش شده) سورسش<p>نوشته <a rel="nofollow" href="http://www.linkpagejari.com">استخدام منشی – ۴ خرداد ۹۴</a> اولین بار در <a rel="nofollow" href="http://www.site.com/">«اینجا»</a> پدیدار شد.</p> که میخوام به<p>کلیک کنید <a rel="nofollow" href="http://www.linkpagejari.com">استخدام کمک حسابدار – شیراز</a></p>البته جایی که این لینک http://www.linkpagejari.com گذاشتم این لینک ادرس صفحه جاری هست و در هر مطلبی فرق میکنهبعد اینکه در صفحه single.php چیزی که گفتید نتونستم انجام بدماینم سورس صفحه single.php<?php/*** The Template for displaying all single posts** @package WordPress* @subpackage Twenty_Fourteen* @since Twenty Fourteen 1.0*/get_header(); ?><div id="primary" class="content-area"><div id="content" class="site-content" role="main"><?php// Start the Loop.while ( have_posts() ) : the_post(); /* * Include the post format-specific template for the content. If you want to * use this in a child theme, then include a file called called content-___.php * (where ___ is the post format) and that will be used instead. */ get_template_part( 'content', get_post_format() ); // Previous/next post navigation. twentyfourteen_post_nav(); // If comments are open or we have at least one comment, load up the comment template. if ( comments_open() || get_comments_number() ) { comments_template(); }endwhile;?></div><!-- #content --></div><!-- #primary --><?phpget_sidebar( 'content' );get_sidebar();get_footer(); ویرایش شده خرداد 94 توسط iman64 نقل قول لینک به ارسال
iman64 32 ارسال شده در خرداد 94 مالک گزارش بازنشر ارسال شده در خرداد 94 ببخشید اشتباه گفتم که این لینک http://www.linkpagejari.com مال صفحه جاری است در واقع لینکی است که سایت منبع میده و متغییر است نقل قول لینک به ارسال
imanfakhar 26231 ارسال شده در خرداد 94 گزارش بازنشر ارسال شده در خرداد 94 اگر اون لینک متغییره که پس متن ثابتی ندارید که بخواهید تغییرش بدید تابعی که گفتم در فایل content.php قالب شماست ولی وقتی می تونید ری پلیس را انجام دهید که کل مقدار دیتاها ثابت باشند در غیر اینصورت می تونید با جی کوئری دستکاریش کنید که خیلی بهینه نیست (به سایت یک مقدار فشار می اره) مثل:<script>$(".entry-content").each(function() {var a = $(this).find("p:last-child").find("a:first-child").attr("href");var t = $(this).find("p:last-child").find("a:first-child").text();var p = 'کلیک کنید <a href="'+a+'">'+t+'</a>';$(this).find("p:last-child").html(p);})</script>که باید در footer.php قبل از بسته شدن تگ body قرار بگیره 2 نقل قول لینک به ارسال
iman64 32 ارسال شده در خرداد 94 مالک گزارش بازنشر ارسال شده در خرداد 94 (ویرایش شده) اگر اون لینک متغییره که پس متن ثابتی ندارید که بخواهید تغییرش بدیدتابعی که گفتم در فایل content.php قالب شماست ولی وقتی می تونید ری پلیس را انجام دهید که کل مقدار دیتاها ثابت باشند در غیر اینصورت می تونید با جی کوئری دستکاریش کنید که خیلی بهینه نیست (به سایت یک مقدار فشار می اره)مثل:<script>$(".entry-content").each(function() {var a = $(this).find("p:last-child").find("a:first-child").attr("href");var t = $(this).find("p:last-child").find("a:first-child").text();var p = 'کلیک کنید <a href="'+a+'">'+t+'</a>';$(this).find("p:last-child").html(p);})</script>که باید در footer.php قبل از بسته شدن تگ body قرار بگیرهبه این صورت تقریبا حل کردم $content = $post->post_content;$content = str_replace('نوشته ', 'برای دیدن خبر در سایت منبع کلیک کنید:', $content); $content = str_replace('اولین بار در', '', $content); $content = str_replace('پدیدار شد.', '', $content); echo $content;منتهی یه چیز دیگر میخوام در اینجا یه متن که داخل لینکی وجود داره متغییر هست در هر مطلبی اینو چه جور میتونم کاری کنم که لینک در پنجره جدید باز بشه اگه متن و لینکش ثابت می بود میشد کاری کرد اما چون متغییر هست نمیتونم . ممنون میشم کمک کنید تشکر ویرایش شده خرداد 94 توسط iman64 نقل قول لینک به ارسال
iman64 32 ارسال شده در تیر 94 مالک گزارش بازنشر ارسال شده در تیر 94 (ویرایش شده) سلام استاد جان من برای جایگزینی متن از کد $content = $post->post_content;$content = str_replace('منبع : ', 'تومن', $content);echo $content;استفاده میکنم اما فقط متن های ادامه مطلب رو عوض میکنه و متن چکیده مطلب رو عوض نمیکنهاز روش زیر هم استفاده کردم که اصلا متن رو نه توی ادامه مطلب عوض کرد و نه توی چکیده مطلب function replace_words($content){$olds = array('دریافت فایل', 'منبع', 'vpn');$news = array('دانلود فایل', 'تومان', 'v.p.n');$content = str_replace($olds , $news ,$content);return $content;}add_filter('the_content', 'replace_words');add_filter('the_excerpt', 'replace_words'); ویرایش شده تیر 94 توسط iman64 نقل قول لینک به ارسال
imanfakhar 26231 ارسال شده در تیر 94 گزارش بازنشر ارسال شده در تیر 94 $excerpt = get_the_excerpt();$content = str_replace('منبع : ', 'تومن', $excerpt);echo $content;رو با the_excerpt();در فایلهایی که چکیده مطلب رو فراخوانی می کنه عوض کنید 1 نقل قول لینک به ارسال
iman64 32 ارسال شده در تیر 94 مالک گزارش بازنشر ارسال شده در تیر 94 پست هایی که خودم ارسال میکنم این جایگزینی رو اعمال میکنه اما پست هایی که از افزونه فید وردپرس هستن رو جایگزین نمیکنه نقل قول لینک به ارسال
imanfakhar 26231 ارسال شده در تیر 94 گزارش بازنشر ارسال شده در تیر 94 این دیگه به کدهای قالبتون و توابعتون مربوط می شه تو انجمن فقط بر اساس توابع استاندارد راهنمایی می شه می تونید با جی کوئری هم همین کار را بکنید که مستقیما روی خروجی اثر بگذاره و به مشکل نخورید به این ترتیب 1. تابع های the_content و the_excerpt را در کل قالبتون بیابید و داخل یک دایو با کلاس مشخص قرار بدید مثلا کلاس post و این کد را به footer.php قالب اضافه کنید<script>$(".post").each(function() { var h = $(this).html();var h = h.replace('منبع : ', 'تومن');$(this).html(h);});</script> 1 نقل قول لینک به ارسال
imanfakhar 26231 ارسال شده در تیر 94 گزارش بازنشر ارسال شده در تیر 94 دو نکته:1. برای عباراتی مثل "تومن" ازش استفاده نکنید چون در تمام متن مطالب عبارت ریپلیس می شه حتی اگر "تومن" بخشی از یک کلمه بزرگتر باشه سعی کنید عبارتتون ترکیب چند کلمه در کنار هم باشه که امکان تشابهش در جای دیگه ای از مطلب وجود نداشته باشه 2. متن را بجای تایپ کردن مستقیما از سورس کد خروجی فعلی سایتتون کپی کنید یعنی یکی از مطالب فیدوردپرسیتون رو باز کنید و از صفحه سورس بگیرید و با ctrl+f عبارت مد نظرتون رو توش بیابید و سورسش رو ازش کپی و پیست کنید به کدهاتون چون اولا ممکنه عبارت داخل تگی قرار گرفته که دیده نشه مثل تگ span و ثانیا ممکنه کارکترهایی توی عبارت باشند که در ظاهر قابل تشخیص نباشند مثلا نیم فاصله جای فاصله قرار داشته باشه 1 نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .