@ligisayan

Почему не выполняются функции (wordpress) и не получается перезаписать файлы на хостинге?

Всем привет! В целях безопасности админ запретил доступ по фтп, поэтому подключаюсь с помощью WinSCP.
Мне нужно изменить
1. Исключить вывод рубрики согласно ЧАВО меняю последовательно в файлах home.php, index.php, single-post.php
if (have_posts()) : while (have_posts()) : the_post();

на
query_posts($query_string .'&cat=-1'); if ( have_posts() ) :  while ( have_posts() ) : the_post();

но, результата это не дает, причем любое изменение этих файлов не отображается даже в редакторе консоли в админке, хотя на хостинге при их закачке файлы изменяются - почему? впрочем, хоть можно изменить записи только через редактор - на сайте это результата не дает, рубрика по прежнему отображается.
2. в файле функции function.php опять же только через редактор консоли могу добавить следующий функционал, но к результату это не приводит.. почему?
//атрибут nofollow для ссылок выбранной рубрики
function wph_nofollow_in_category($content) {
global $post;
    if(in_category(5054)) { //указываем ID рубрики
        $content = stripslashes(wp_rel_nofollow($content));
    }
    return $content;
}
add_filter('the_content', 'wph_nofollow_in_category');

есть подозрение, что это результат вывода функции выше в том же файле
/***********************************/
 //изменяем основной запрос категории и блога
add_filter('pre_get_posts','attila_category_and_home');
function attila_category_and_home( $query ) {
    if ( ($query->is_home|| $query->is_category)&&$query->is_main_query()) {
		
		
	//$query->set( 'posts_per_page', 2 );		
    $query->set( 'ignore_sticky_posts', 1 );
	
if (!empty($_GET['rn'])) {					
					$meta_query = array(
						array(
							'key' => 'rayon',
							'value' => $_GET['rn']
						)
					);
					//$query->set( 'cat', '1' );
					//$query->set( 'post_type', 'post' );
					$query->set( 'meta_query', $meta_query );
					
					
					//print_r($query);

					}					




if (!empty($_GET['days'])) {		
					
					$day_from_picker=explode("-", $_GET['days']);
					//print_r($day_from_picker);
					$date_query = array(
						array(
							'year'  => $day_from_picker[0],
							'month' => $day_from_picker[1],
							'day'   => $day_from_picker[2],
						)
					);
					
					$query->set( 'date_query',  $date_query = array(
						array(
							'year'  => $day_from_picker[0],
							'month' => $day_from_picker[1],
							'day'   => $day_from_picker[2],
						)
					));					
					
					}	
				
    }	
    return $query;
}

3. запись в файле .htaccess, но через WinSCP я его не вижу, однако при попытке апдейта файла пишет - заменить? как можно изменить в таком случае этот файл?
  • Вопрос задан
  • 354 просмотра
Пригласить эксперта
Ответы на вопрос 1
lazalu68
@lazalu68
Salmon
1. Если вы уверены, что этот ваш WinSCP действительно изменяет файл, а не прикидывается шлангом (c файлзиллой такое случалось раньше), то попробуйте погуглить фразу "wordpress i make changes nothing happens". Это уже как басня, складывается впечатление что все бросаются на первый попавшийся файл и мучают его, мучают. С вероятностью в 146% вы правите не тот файл. Тут всё как обычно - если не хотите читать кодекс вордпресса и понимать как всё работает, то дебажите всеми возможными средствами, в данном случае можете выполнять echo в том же functions.php. Текст не выводится? Значит, промах, ищите другой скрипт, который должен выполняться согласно иерархии,
2. То же самое - либо читаете кодекс, либо дебажите,
3. Во-первых, вы не сказали через какой протокол работает WinSCP; во-вторых, во фразе "через WinSCP я его не вижу, однако при попытке апдейта файла пишет - заменить" я не вижу никаких противоречий, вполне возможно что некоторый странный набор настроек запрещает для WinSCP листинг этого файла, но не запрещает изменение. Кстати, файл действительно можно изменить с помощью WinSCP?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы