Ich möchte die folgende PHP-Anweisung innerhalb function.php
: Wenn es ein hochgeladenes Bild für #header h1 a
's Hintergrund, den Text einrücken (entfernen) ... Wenn nicht (sonst) , behalte den Text (nicht einrücken).PHP bedingte Anweisungen in Wordpress Funktion.php Datei funktioniert nicht
Ich bin nicht sehr vertraut mit PHP, aber das ist, was ich tat:
<?php
// Include functions of Theme Options
require_once(TEMPLATEPATH . '/functions/admin-menu.php');
// If there's an image for the site title, remove it's text
function logo_exists() {
?><style type="text/css">
#header h1 a {
<?php
if ($options['logo'] == NULL) { ?>
float: left;
text-indent: 0;
<?php } else { ?>
background: url(<?php echo $options['logo']; ?>) no-repeat scroll 0 0;
float: left;
text-indent: -9999px;
width: 160px;
height: 80px;
}
<?php } ?>
</style><?php
}
header.php:
// Initiate Theme Options
$options = get_option('plugin_options');
var_dump($options['logo'])
?>
<style>
body {
background-color: <?php echo $options['color_scheme']; ?>
}
</style>
</head>
<body <?php body_class(); ?>>
<div id="wrapper">
<div id="header">
<h1>
<a href="<?php echo home_url('/'); ?>" title="<?php echo esc_attr(get_bloginfo('name', 'display')); ?>" rel="home"><?php bloginfo('name'); ?></a>
</h1>
(Ich bin nicht sicher, ob es nützliche Hinweise aber plugin_options wird kurz vor den <style>
Tags initialisiert.)
Ich tat var_dump
und #options['logo']
dis spielt:
string(63) "http://localhost/wordpress/wp-content/uploads/2010/12/logo3.png"
(So ist das Bild arbeitet)
Aber ich sehe jetzt nur die Wordpress-Website Titel
I "aktivieren" oder "initiieren" die Funktion Müssen ** logo_exists? oder gibt es ein anderes Problem? **
(Alles funktioniert ok, wenn ich direkt $ options [logo] von header.php nicht den PHP Wenn Anweisungen verwenden und zu erklären)
Vielen Dank im Voraus!
empfehle ich Ihren Code neu zu formatieren mit [IF..ENDIF] (http://php.net/manual/en/control-structures.alternative-syntax.php) Syntax besser lesbar werden (in gemischten PHP/HTML-Codes). –
BlotClock hat immer noch einen Punkt, die Variable $ options hat keinen Gültigkeitsbereich innerhalb der Funktion. Wenn Sie auf diese Variable in dieser Funktion verweisen möchten, müssen Sie sie in der Funktion globalisieren. Das Problem, denke ich, ist, dass Ihre Funktion an eine geeignete Aktion angehängt werden muss, zum Beispiel 'add_action ('wp_print_styles', 'logo_exists')', um den Inhalt an einer geeigneten Position in der Kopfzeile für das Styling auszugeben. – t31os