2017-01-12 4 views
0

У меня есть страница WordPress, которая построена из разных файлов PHP. В одном из файлов есть PHP Script, который вычисляет крайний срок, когда приложение закрывается. Я хотел бы повторить это в нижней части моей страницы, но это часть другого файла.Как эхо часть php из другого файла?

Что я делаю неправильно?

Файл 1:

<?php $deadline = { 
         $now = time(); 
         $dueDate = get_field('due_date'); 
         $dueDate = strtotime($dueDate); 
         $datediff = $dueDate - $now; 
         $daysLeft = floor($datediff/(60*60*24))+1; 
         $daysLeft = intval($daysLeft); 
         ?> 
         <?php if($daysLeft == 0) { 
          echo 'Last day'; 
         } elseif($daysLeft < 0) { 
          echo 'Deadline passed'; 
         } elseif($daysLeft == 1) { 
          echo $daysLeft.' days left'; 
         } else { 
          echo $daysLeft.' days left'; 
         } 
        }?> 

Файл 2:

<?php 
     include('/../content-challenge.php'); 
     echo $deadline; 
    ?> 

Примечание:, как вы видите файл, в котором файл 2 точки на находится в директории выше файла он должно быть отражено.

+3

У вас есть совершенно неправильный синтаксис. Почему вы открываете '{' после '$ deadline'? Какая идея? Это не что иное, как синтаксическая ошибка. Что вам нужно? $ Deadline? Функция? Массив? – Twinfriends

ответ

0

Файл 1.

<?php 

    function deadline() { 

     $now = time(); 
     $dueDate = get_field('due_date'); 
     $dueDate = strtotime($dueDate); 
     $datediff = $dueDate - $now; 
     $daysLeft = floor($datediff/(60*60*24))+1; 
     $daysLeft = intval($daysLeft); 

     if($daysLeft == 0) { 

      echo 'Last day'; 

     }elseif($daysLeft < 0) { 

      echo 'Deadline passed'; 

     }elseif($daysLeft == 1) { 

      echo $daysLeft.' days left'; 

     }else { 

      echo $daysLeft.' days left'; 
     } 

    } 
?> 

Файл 2.

Если функция определена в functions.php

<?php deadline(); ?> 

или если определено в любом другом файле, то вы должны включить этот файл, как вы сделали (убедитесь, этот путь хорош)

<?php 

    include('/../content-challenge.php'); 

    deadline(); 

?> 
+0

Я думаю, что 'echo $ now = time();' предполагается быть '$ now = time();'. – showdev

+0

Да, вы правы - отредактированы. – mattkrupnik