como puxar imagens sem add_theme_support ('post_thumbnails')

4

Estou desenvolvendo uma página de portfólio para o meu site e cheguei até a funcionalidade em que, ao passar o mouse sobre um nome listado de cada projeto, ele exibirá o mesmo título do lado esquerdo do site da seguinte forma:

Oqueeugostariadefazeréquandovocêpassaomousesobreotítulodoprojetonoladodireito,umaimagemdabibliotecademídiaaparecedoladoesquerdo,paraqueeupossacomeçarafazeralgumprogresso.Infelizmente,essacompilaçãodoWordPressédiferente,eunãoaconstruídozeroenoteinapáginafunctions.php,nãoháadd_theme_support('post_thumbnails'),issoétudoqueeuvejoemfunctions.php:

<?php/***Themefunctionsanddefinitions.**Setsupthethemeandprovidessomehelperfunctions**Whenusingachildtheme(seehttp://codex.wordpress.org/Theme_Development*andhttp://codex.wordpress.org/Child_Themes),youcanoverridecertain*functions(thosewrappedinafunction_exists()call)bydefiningthemfirst*inyourchildtheme'sfunctions.phpfile.Thechildtheme'sfunctions.php*fileisincludedbeforetheparenttheme'sfile,sothechildtheme*functionswouldbeused.***Formoreinformationonhooks,actions,andfilters,*seehttp://codex.wordpress.org/Plugin_API**@packageCMMS*@authorCreativeMMS***@since1.1.0*//*---------------------------------------------------------------------------*//*Loadtheparentstyle.cssfile/*---------------------------------------------------------------------------*/add_action('wp_enqueue_scripts','enqueue_parent_styles');functionenqueue_parent_styles(){wp_enqueue_style('parent-style',get_template_directory_uri().'/style.css');}/*------------------------------------------------------------------[LoadFiles]-------------------------------------------------------------------*/functioncmms_child_load_files(){$dir=get_stylesheet_directory();//IncludeACFThemeFunctionsrequire_once($dir.'/inc/acf/acf_groups.php');require_once($dir.'/inc/acf/acf.php');}add_action('acf/init','cmms_child_load_files');/*------------------------------------------------------------------[AddChildscripts]-------------------------------------------------------------------*/functioncmms_child_assets(){//Directorytopullassetsfrom$dir=get_stylesheet_directory_uri();//UseforDEV//wp_enqueue_script('child-scripts',$dir.'/assets/js/child-scripts.js',array('jquery'),'1.0',true);wp_enqueue_script('cmms-tween-max',$dir.'/assets/js/plugins/ScrollMagic/TweenMax.min.js',array('jquery'),'1.0',true);wp_enqueue_script('cmms-scroll-magic',$dir.'/assets/js/plugins/ScrollMagic/ScrollMagic.min.js',array('jquery'),'1.0',true);wp_enqueue_script('cmms-animation',$dir.'/assets/js/plugins/ScrollMagic/animation.gsap.min.js',array('jquery'),'1.0',true);wp_enqueue_script('cmms-add-indicators',$dir.'/assets/js/plugins/ScrollMagic/debug.addIndicators.min.js',array('jquery'),'1.0',true);//UseforPRODUCTIONwp_enqueue_script('cmms-child-app',$dir.'/assets/js/cmms-child-app.min.js',array('jquery'),'1.0',true);}add_action('wp_enqueue_scripts','cmms_child_assets');

Comofaçoparacarregaralgumasimagensdaminhabibliotecademídia,semadd_theme_support('post_thumbnails')emfunctions.php?Essaéaúnicamaneiraqueseifazer.Aideiaéqueentãoeuadicionoestepedaçodecódigo:

<?phpthe_post_thumbnail();?>

aqui:

<liclass="item <?php if ($count == 1) : ?>active<?php endif; ?>" id="<?= $count; ?>"><?php the_post_thumbnail(); ?></li>

O código acima é de arquivo-trabalho.php:

<?php
/**
 * Work template file.
 *
 * This is the most generic template file in a WordPress theme and one of the
 * two required files for a theme (the other being style.css).
 * It is used to display a page when nothing more specific matches a query.
 * For example, it puts together the home page when no home.php file exists.
 *
 * Learn more: http://codex.wordpress.org/Template_Hierarchy
 *
 * @package   CMMS
 * @author    Creative MMS
* 
 * 
 * @since     1.0.0
 */

get_header(); ?>


    <div class="cmms-house">

        <div class="content-area cmms-clr">

            <main class="site-main cmms-clr">

                <?php
                // Display page header
                //get_template_part( 'partials/archives/header' ); ?>

                <?php
                // Check if posts exist
                if ( have_posts() ) : ?>

                    <div class="work-entry cmms-clr">   
                        <div class="work-col work-left">
                            <ul>
                            <?php
                                // Get query
                                global $wp_query;

                                // Count
                                $count = 1;

                                // Loop through posts
                                while ( have_posts() ) : the_post(); ?>

                                    <li class="item <?php if ($count == 1) : ?>active<?php endif; ?>" id="<?= $count; ?>"><?php the_post_thumbnail(); ?><?= get_the_title(); ?></li>

                            <?php
                                // End loop
                                $count++; endwhile;
                            ?>
                            <?php wp_reset_postdata(); ?>
                            </ul>
                        </div><!-- .left -->

                        <div class="work-col work-right">
                            <ul>
                            <?php
                                // Get query
                                global $wp_query;

                                //Counter
                                $counter = 1;

                                // Loop through posts
                                while ( have_posts() ) : the_post(); ?>

                                    <li class="list-right" data-trigger="#<?= $counter; ?>"><?= get_the_title(); ?></li>

                            <?php
                                // End loop
                                $counter++; endwhile;
                            ?>
                            <?php wp_reset_postdata(); ?>
                            </ul>
                        </div><!-- .right -->

                    </div><!-- .work-entry -->  

                    <?php
                    // Include pagination template part
                    cmms_include_template( 'partials/global/pagination.php' ); ?>

                <?php
                // Display no posts found message
                else : ?>

                    <?php get_template_part( 'partials/entry/none' ); ?>

                <?php endif; ?>

            </main><!-- .main -->

        </div><!-- .content-area -->

<?php get_sidebar(); ?>

<?php get_footer(); ?>
    
por Daniel 26.04.2017 / 19:27

1 resposta

3

Se você não quiser modificar o tema ou adicionar um tema filho para lidar com o suporte a miniaturas de postagens, poderá fazê-lo por meio de um plug-in anexando um retorno de chamada ao after_setup_theme hook:

<?php
/*
Plugin Name: WPSE Post Thumbnail Support
Plugin URI: 
Description: Adds post thumbnail support to theme.
Version: 0.0.1
Author:
Author URI:
License: GPL2/Creative Commons
*/


add_action( 'after_setup_theme', 'wpse_theme_setup' );
function wpse_theme_setup() {
    /*
     * Enable support for Post Thumbnails on posts and pages.
     */
    add_theme_support( 'post-thumbnails' );
}

Alternativamente, você pode criar sua própria funcionalidade de upload de imagem de anexo (pessoalmente, eu uso CMB2 para isso), em seguida, pegue a imagem por a meta ID e passe para wp_get_attachment_image() .

    
por Dave Romsey 26.04.2017 / 20:17