selftrips
@selftrips

Можноли вынести в плагин модификацию функции темы wordpress?

в файле theme-functions.php
имеется функция
function tempera_title_and_description() {
	$temperas = tempera_get_theme_options();
	foreach ($temperas as $key => $value) { ${"$key"} = $value ; }
	// Header styling and image loading
	// Check if this is a post or page, if it has a thumbnail, and if it's a big one
	global $post;

	if ( get_header_image() != '' ) { $himgsrc = get_header_image(); }
	if ( is_singular() && has_post_thumbnail( $post->ID ) && $tempera_fheader == "Enable" &&
		( $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'header' ) ) &&
		$image[1] >= HEADER_IMAGE_WIDTH ) : $himgsrc= esc_url( $image[0] );
	endif;

здесь вставляется код
if ( is_singular() and $althimg = get_post_meta(get_the_ID(), 'my_map', true) ) {
        echo $althimg;
        unset ($himgsrc);
    }

после чего функция продолжается
if ( isset( $himgsrc ) && ( $himgsrc != '' ) ) : echo '<img id="bg_image" alt="" title="" src="' . esc_url( $himgsrc ) . '"  />';  endif;
?>
<div id="header-container">
<?php

	switch ($tempera_siteheader) {
		case 'Site Title and Description':
			echo '<div>';
			$heading_tag = ( ( is_home() || is_front_page() ) && !is_page() ) ? 'h1' : 'div';
			echo '<'.$heading_tag.' id="site-title">';
			echo '<span> <a href="' . esc_url ( home_url( '/' ) ) . '" title="' . esc_attr( get_bloginfo( 'name', 'display' ) ) . '" rel="home">' . get_bloginfo( 'name' ) . '</a> </span>';
			echo '</'.$heading_tag.'>';
			echo '<div id="site-description" >' . get_bloginfo( 'description' ) . '</div></div>';
		break;

		case 'Clickable header image' :
			echo '<a href="' . esc_url( home_url( '/' ) ) . '" id="linky"></a>' ;
		break;

		case 'Custom Logo' :
			if (isset($tempera_logoupload) && ($tempera_logoupload != '')) :
				echo '<div><a id="logo" href="' . esc_url( home_url( '/' ) ) . '" ><img title="' . esc_attr( get_bloginfo( 'name', 'display' ) ) . '" alt="' .
                    esc_attr( get_bloginfo( 'name', 'display' ) ) . '" src="' . esc_url( $tempera_logoupload ) . '" /></a></div>';
			endif;
		break;

		case 'Empty' :
		break;
	}
	echo '</div>';
} // tempera_title_and_description()

add_action ( 'cryout_branding_hook', 'tempera_title_and_description' );


Можно ли этот добавочный код как то вынести в собственный плагин?
  • Вопрос задан
  • 133 просмотра
Пригласить эксперта
Ответы на вопрос 1
VasyaPertrov
@VasyaPertrov
Изготовление и безопастность сайтов. WP и др.
Непонятно какой "добавочный", но можно.
Хотя функционал темы должен быть в теме. В плагины нужно выносить то, что от темы не зависит.

Если нужно внести изменения в тему - стоит делать дочернюю.
Ответ написан
Ваш ответ на вопрос

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

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