Kom ihåg mig?
Home Menu

Menu


WordPress: Funktion fungerar inte i header.php, sidebar.php och footer.php

Ämnesverktyg Visningsalternativ
Oläst 2012-01-24, 04:46 #1
JesperA JesperA är inte uppkopplad
Medlem
 
Reg.datum: Jul 2008
Inlägg: 214
JesperA JesperA är inte uppkopplad
Medlem
 
Reg.datum: Jul 2008
Inlägg: 214
Standard WordPress: Funktion fungerar inte i header.php, sidebar.php och footer.php

Tjenare!

Har en funktion i WordPress för att läsa en fil, hämta en viss rad och visa den, detta fungerar jättebra i alla huvudtemplate filer som tex: index.php, category.php, search.php, archive.php, page.php, osv osv, men om jag försöker echoa ut funktionen i header.php, sidebar.php eller footer.php så visas ingenting. Kommer inte på varför.

Funktionen: (ligger i functions.php)

PHP-kod:
// Read rows from file, used in the language system if the user have not specified a .po/.mo language file
function readLine($readfile$line_num$delimiter="\n")
{
    
/*** set the counter to one ***/
    
$i 1;

    
/*** open the file for reading ***/
    
$fp fopen$readfile'r' );

    
/*** loop over the file pointer ***/
    
while ( !feof $fp) )
    {
        
/*** read the line into a buffer ***/
        
$buffer stream_get_line$fp1024$delimiter );
        
/*** if we are at the right line number ***/
        
if( $i == $line_num )
        {
            
/*** return the line that is currently in the buffer ***/
            
return $buffer;
        }
        
/*** increment the line counter ***/
        
$i++;
        
/*** clear the buffer ***/
        
$buffer '';
    }
    return 
false;
}
$language_path TEMPLATEPATH '/language/';
$readfile $language_path 'swedish.html'

Och den används såhär:

PHP-kod:
   <?php echo readLine($readfile1); // Price? ?>
Så japp, någon som vet varför denna funktionen inte fungerar när man echoar ut den från header.php, sidebar.php och footer.php?

Sidorna som fungerar, som tex index.php ser ut såhär:

PHP-kod:
<?php get_header(); ?>

<?php get_sidebar(); // get_sidebar hämtar sidebar.php och funktionen fungerar inte från sidebar.php ?>

<?php echo readLine($readfile1); // Price? ?>  // Fungerar här




<?php get_footer(); ?>
JesperA är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-01-24, 18:49 #2
HapiDjus HapiDjus är inte uppkopplad
Nykomling
 
Reg.datum: May 2011
Inlägg: 39
HapiDjus HapiDjus är inte uppkopplad
Nykomling
 
Reg.datum: May 2011
Inlägg: 39
Har du satt $readfile till något då?
HapiDjus är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-01-24, 19:35 #3
JesperA JesperA är inte uppkopplad
Medlem
 
Reg.datum: Jul 2008
Inlägg: 214
JesperA JesperA är inte uppkopplad
Medlem
 
Reg.datum: Jul 2008
Inlägg: 214
Citat:
Ursprungligen postat av HapiDjus Visa inlägg
Har du satt $readfile till något då?
Well, lägger jag in:

PHP-kod:
$language_path TEMPLATEPATH '/language/'
$readfile $language_path 'swedish.html'
i header.php, sidebar.php och footer.php så fungerar det, men eftersom den redan ligger i functions.php som redan bör hämtas globalt av WordPress så borde jag kunna slippa det på något sätt.
JesperA är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-01-24, 20:39 #4
JesperA JesperA är inte uppkopplad
Medlem
 
Reg.datum: Jul 2008
Inlägg: 214
JesperA JesperA är inte uppkopplad
Medlem
 
Reg.datum: Jul 2008
Inlägg: 214
Ok, kunde inte redigera ovanstående inlägg och hoppas det är ok att göra ett till på raken då:

Felmeddelandet glömde jag innan:

Notice: Undefined variable: readfile in /Users/admin/Sites/Rogatio/en/dev/wordpress/wp-content/themes/Doradus/header.php on line 87 Warning: fopen(): Filename cannot be empty in /Users/admin/Sites/Rogatio/en/dev/wordpress/wp-content/themes/Doradus/functions/wp-custom.php on line 83 Warning: feof() expects parameter 1 to be resource, boolean given in /Users/admin/Sites/Rogatio/en/dev/wordpress/wp-content/themes/Doradus/functions/wp-custom.php on line 86 Warning: stream_get_line() expects parameter 1 to be resource, boolean given in /Users/admin/Sites/Rogatio/en/dev/wordpress/wp-content/themes/Doradus/functions/wp-custom.php on line 89

Jag måste vara trög, har massa andra funktioner med variabler som fungerar precis överallt i WP temat men kommer inte på varför just denna vägrar vara "global"...
JesperA är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-01-24, 21:05 #5
Jines avatar
Jine Jine är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Feb 2005
Inlägg: 1 032
Jine Jine är inte uppkopplad
Har WN som tidsfördriv
Jines avatar
 
Reg.datum: Feb 2005
Inlägg: 1 032
Anledningen (precis som jag skrev på IRC) är pga. variablerna ligger i ett annat scope.

http://php.net/manual/en/language.variables.scope.php
Jine är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 16:17.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017