Hat wirklich niemand eine Idee, wie man das einfach lösen kann?
Beiträge von kathi_19
-
-
Nein, hab ich nicht. Reicht es, wenn ich ein Child Theme anlege und dann den Inhalt meines jetzigen geänderten Themes einfach reinkopiere?
-
Hallo, meine Wordpressseite (http://www.weiz-sozial.net) enthält verschiedene Templates (Theme: admired), da sie ausgehend von einer Startseite aus 3 Projekten besteht. Jedes Template soll einen eigenen Blogtitel und Untertitel bekommen. Standardmäßig angezeigt wird jedoch auf jeder Seite der im Dashboard angegebene Blog- und Untertitel.
Gibt es eine Möglichkeit mehrere Blog- und Untertitel zu definieren und diese den Templates zuzuweisen oder kann ich das manuell in der page.php ändern? Diese sieht so aus:
[size=8]<?php
/*
Template Name: sgs
*//**
* The template for displaying all pages.
*
* @since admired 1.0
*/?>
<?php
/**
* The Header for our theme.
*
* @since admired 1.0
*/
?><!DOCTYPE html>
<!--[if IE 6]> <html id="ie6" class="no-js" <?php language_attributes(); ?>> <![endif]-->
<!--[if IE 7]> <html id="ie7" class="no-js" <?php language_attributes(); ?>> <![endif]-->
<!--[if IE 8]> <html id="ie8" class="no-js" <?php language_attributes(); ?>> <![endif]-->
<!--[if !(IE 6) | !(IE 7) | !(IE 8) ]><!-->
<html class="no-js" <?php language_attributes(); ?>>
<!--<![endif]-->
<?php global $options;
$options = get_option('admired_theme_options'); ?>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title><?php
if ( !empty ($options['admired_hide_metainfo'])) {
wp_title(''); /* this is compatible with SEO plugins */
} else {
/* Else Print the <title> tag.
----------------------------*/
global $page, $paged;wp_title( '|', true, 'right' );
bloginfo( 'name' ); // Name.
$site_description = get_bloginfo( 'description', 'display' ); // Description
if ( $site_description && ( is_home() || is_front_page() ) )
echo " | $site_description";
// Add page number:
if ( $paged >= 2 || $page >= 2 )
echo ' | ' . sprintf( __( 'Page %s', 'admired' ), max( $paged, $page ) );
} ?> </title>
<link rel="profile" href="http://gmpg.org/xfn/11" />
<link rel="stylesheet" type="text/css" media="all" href="<?php bloginfo( 'stylesheet_url' ); ?>" />
<link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>" />
<?php
/* JavaScript for threaded comments.
----------------------------------*/
if ( is_singular() && get_option( 'thread_comments' ) )
wp_enqueue_script( 'comment-reply' );/* wp_head() before closing </head> tag.
---------------------------------------*/
wp_head();
?>
</head><body <?php body_class(); ?>>
<div id="head-wrapper"><?php /* ======== TOP MENU ======== */
if ( isset ($options['admired_show_secondary_menu'])&& ($options['admired_show_secondary_menu'] != "") ) {
get_template_part('top','menu'); } else { echo "";}?>
<header id="branding" role="banner">
<div id="header-group" class="clearfix">
<div id="header-logo">
<?php
if ( ! empty( $options['admired_hide_title_discription'] ) && $options['admired_header_logo'] ) { ?>
<a href="<?php echo esc_url( home_url( '/' ) ); ?>"><span id="header-link"> </span></a>
<?php } ?>
<hgroup>
<h1 id="site-title"><span><a href="<?php echo esc_url( home_url( '/' ) ); ?>" title="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a></span></h1>
<h2 id="site-description"><?php bloginfo( 'description' ); ?></h2>
</hgroup>
<?php
if ( isset ($options['admired_search_placement'])&& ($options['admired_search_placement'] == "Header") ) {
get_search_form(); }
if ( isset ($options['admired_show_social_icons'])&& ($options['admired_show_social_icons'] != "") ) {
get_template_part('header','social');} else { echo "";}
?>
</div>
</div>
</header><!-- #branding -->
</div><!-- #head-wrapper -->
<div id="page" class="hfeed">[/SIZE]Für Tipps wäre ich sehr dankbar! :razz:
-
Danke für eure Hilfe. Hab jetzt einfach die .php wo mein Menü drin stand in die header.php kopiert und die dann in die page.php
Jetzt funktioniert alles super!!! :razz:
-
Die header.php sieht so aus:
[size=8]<?php
/**
* The Header for our theme.
*
* @since admired 1.0
*/
?><!DOCTYPE html>
<!--[if IE 6]> <html id="ie6" class="no-js" <?php language_attributes(); ?>> <![endif]-->
<!--[if IE 7]> <html id="ie7" class="no-js" <?php language_attributes(); ?>> <![endif]-->
<!--[if IE 8]> <html id="ie8" class="no-js" <?php language_attributes(); ?>> <![endif]-->
<!--[if !(IE 6) | !(IE 7) | !(IE 8) ]><!-->
<html class="no-js" <?php language_attributes(); ?>>
<!--<![endif]-->
<?php global $options;
$options = get_option('admired_theme_options'); ?>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title><?php
if ( !empty ($options['admired_hide_metainfo'])) {
wp_title(''); /* this is compatible with SEO plugins */
} else {
/* Else Print the <title> tag.
----------------------------*/
global $page, $paged;wp_title( '|', true, 'right' );
bloginfo( 'name' ); // Name.
$site_description = get_bloginfo( 'description', 'display' ); // Description
if ( $site_description && ( is_home() || is_front_page() ) )
echo " | $site_description";
// Add page number:
if ( $paged >= 2 || $page >= 2 )
echo ' | ' . sprintf( __( 'Page %s', 'admired' ), max( $paged, $page ) );
} ?> </title>
<link rel="profile" href="http://gmpg.org/xfn/11" />
<link rel="stylesheet" type="text/css" media="all" href="<?php bloginfo( 'stylesheet_url' ); ?>" />
<link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>" />
<?php
/* JavaScript for threaded comments.
----------------------------------*/
if ( is_singular() && get_option( 'thread_comments' ) )
wp_enqueue_script( 'comment-reply' );/* wp_head() before closing </head> tag.
---------------------------------------*/
wp_head();
?>
</head><body <?php body_class(); ?>>
<div id="head-wrapper"><?php /* ======== TOP MENU ======== */
if ( isset ($options['admired_show_secondary_menu'])&& ($options['admired_show_secondary_menu'] != "") ) {
get_template_part('top','menu'); } else { echo "";}?>
<header id="branding" role="banner">
<div id="header-group" class="clearfix">
<div id="header-logo">
<?php
if ( ! empty( $options['admired_hide_title_discription'] ) && $options['admired_header_logo'] ) { ?>
<a href="<?php echo esc_url( home_url( '/' ) ); ?>"><span id="header-link"> </span></a>
<?php } ?>
<hgroup>
<h1 id="site-title"><span><a href="<?php echo esc_url( home_url( '/' ) ); ?>" title="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a></span></h1>
<h2 id="site-description"><?php bloginfo( 'description' ); ?></h2>
</hgroup>
<?php
if ( isset ($options['admired_search_placement'])&& ($options['admired_search_placement'] == "Header") ) {
get_search_form(); }
if ( isset ($options['admired_show_social_icons'])&& ($options['admired_show_social_icons'] != "") ) {
get_template_part('header','social');} else { echo "";}
?>
</div>
</div>
</header><!-- #branding -->
</div><!-- #head-wrapper -->
<div id="page" class="hfeed">
<?php /* ======== BOTTOM MENU ======== */
get_template_part('bottom','menu'); ?>
<div id="main">[/SIZE]Soviel ich da rauslese, ist das Menü in der bottom-menu.php gespeichert. Die sieht so aus:
[size=8]<?php
/**
* Bottom Primary Menu.
*
* @since admired 1.0
*/
global $options;
$options = get_option('admired_theme_options'); ?>
<div id="nav-bottom-menu">
<div id="nav-bottom-wrap">
<nav id="nav-menu2" role="navigation">
<h3 class="assistive-text"><?php _e( 'Main menu', 'admired' ); ?></h3>
<?php /* Allow screen readers to skip the navigation. */ ?>
<div class="skip-link"><a class="assistive-text" href="#content" title="<?php esc_attr_e( 'Skip to primary content', 'admired' ); ?>"><?php _e( 'Skip to primary content', 'admired' ); ?></a></div>
<div class="skip-link"><a class="assistive-text" href="#secondary" title="<?php esc_attr_e( 'Skip to secondary content', 'admired' ); ?>"><?php _e( 'Skip to secondary content', 'admired' ); ?></a></div>
<?php /* Our navigation menu. */ ?>
<?php if ( isset ($options['admired_remove_superfish']) && ($options['admired_remove_superfish']!="") )
wp_nav_menu( array( 'container_class' => 'menu-header', 'theme_location' => '[COLOR=#b22222]primary[/COLOR]' ) );
else
wp_nav_menu( array( 'container_class' => 'menu-header', 'theme_location' => '[COLOR=#800000]primary[/COLOR]', 'menu_class' => 'sf-menu','fallback_cb' => 'admired_page_menu' ) );?>
<?php /* Search in menu. */ ?>
<?php if ( isset ($options['admired_search_placement'])&& ($options['admired_search_placement'] != "Menu") ) {
echo '';
} else{
get_search_form(); } ?>
</nav><!-- #nav-menu2 -->
</div>
</div>[/SIZE]Wenn ich die rot markierten Teile auf meinen 2. Menünamen ändere, wird das andere Menü angezeigt. Daher habe ich 2 weitere header.php und bottom-menu.php angelegt mit den Änderungen. Wenn ich dann allerdings das Template zuweise bekomme ich diese Fehlermeldung:
Fatal error: Call to undefined function get_header2() in /home/.sites/384/site2614/web/wp-content/themes/admired/page_jugendwohlfahrt.php on line 13
Was mache ich da falsch?
-
Danke für den Tipp. Hätte dann aber noch eine Frage. Um ein neues Template zu erstellen, brauche ich ja nur die page.php zu kopieren und zu benennen. Wie weise ich dem Template aber dann das jeweilige Menü zu?
Die page.php sieht folgendermaßen aus:
[size=8]<?php
/*
Template Name: startseite
*//**
* The template for displaying all pages.
*
* @since admired 1.0
*/?>
<div id="primary">
<div id="content" role="main"><?php while ( have_posts() ) : the_post(); ?>
<?php get_template_part( 'loop', 'page' ); ?>
<?php if ( comments_open()):
comments_template( '', true );
endif; ?>
<?php endwhile; // end of the loop. ?>
</div><!-- #content -->
</div><!-- #primary -->
[/SIZE] -
Hallo,
ich habe folgendes Problem. Ausgehend von einer statischen Startseite gelangt man zu 3 Projekten, die das gleiche Template (admired) beinhalten, jedoch verschiedene Menüs enthalten sollen. (WP Version 3.51)
Link zur Hp:
Hierfür habe ich 3 Seiten mit den entsprechenden Kindseiten angelegt und in der functions.php 3 Menüs erstellt
[size=8] //ein erstes Menü
register_nav_menus( array(
'primary1' => 'menue1'
) );usw.
[/SIZE]
Diese werden im Dashboard einwandfrei angezeigt.Folgende Funktion soll abfragen, ob es sich um Kindseiten handelt.
[size=8]// functions.php[/SIZE]
[size=8]// $page_slug = slug der Elternseite
function is_child($page_slug)
{
global $post;
$parent_page = get_page_by_path($page_slug);
if( is_page() && ($post->post_parent == $parent_page->ID) ) {
return TRUE;
}
return FALSE;
}[/SIZE]Jetzt müsste ich noch mit einer if-Abfrage klären, dass bei einer entsprechenden Kindseite das richtige Menü angezeigt wird. (Derzeit werden nur die 3 Elternseiten im Menü in allen 3 Projekten angezeigt.)
[size=10]if( is_child('slug-jugendwohlfahrt') ) {.....[/SIZE]Da ich mich mit php jedoch nicht so gut auskenne, weiß ich nun nicht weiter. Weiß vielleicht jemand Rat?