Modificare funzione php

  • Creatore Discussione Creatore Discussione Shyson
  • Data di inizio Data di inizio

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
Questo codice mette a video l'icona della busta sia che c'è un commento o no, io vorrei fare in modo che la busta appare solo se c'è almeno un commento

PHP:
if ( ! function_exists( 'donovan_entry_comments' ) ) :
    /**
     * Displays the post comments
     */
    function donovan_entry_comments() {

        // Check if comments are open or we have at least one comment.
        if ( comments_open() || get_comments_number() ) :
            ?>

            <div class="entry-comments">

                <?php
                // Display Comments.
                echo donovan_get_svg( 'mail' );
                comments_popup_link(
                    esc_html__( 'Leave a comment', 'donovan' ),
                    esc_html__( 'One comment', 'donovan' ),
                    esc_html__( '% comments', 'donovan' )
                );
                ?>

            </div>

            <?php
        endif;
    }
endif;
 
Ultima modifica:
potresti provare ad utilizzare una funzione come questa

PHP:
<?php if(!empty($utente['message'])): ?>
    <div class="author-box-job"><?php echo $utente['message']; ?></div>
  <?php endif; ?>
 
se comment_open é sempre vero, quando esistono commenti, penso che ti basti sostituire OR con AND
prova e fai sapere

Ho messo così, però non mi mette a video "Lascia un commento", lo spazio è tutto vuoto

Codice:
// Check if comments are open or we have at least one comment.
        if ( comments_open() AND get_comments_number() ) :
 
scusa ho percepito che dovesse sparire tutto l'insieme, invece deve sparire sola la busta,
lascia OR come in originale e modifica la riga
PHP:
                if ( get_comments_number() ) echo donovan_get_svg( 'mail' );
 
bene !

trovo che la funzione donovan_get_svg possa essere interessante,
puoi pubblicarla (solo lei) ?

Dovrebbe essere questa

Codice:
function donovan_get_svg( $icon = null ) {
    // Return early if no icon was defined.
    if ( empty( $icon ) ) {
        return;
    }
 
hai pubblicato solo le prime righe, manca tutto il pezzo interessante

Codice:
<?php
/**
 * SVG icons related functions and filters
 *
 * @package Donovan
 */

/**
 * Return SVG markup.
 *
 * @param string $icon SVG icon id.
 * @return string $svg SVG markup.
 */
function donovan_get_svg( $icon = null ) {
    // Return early if no icon was defined.
    if ( empty( $icon ) ) {
        return;
    }

    // Create SVG markup.
    $svg = '<svg class="icon icon-' . esc_attr( $icon ) . '" aria-hidden="true" role="img">';
    $svg .= ' <use xlink:href="' . get_parent_theme_file_uri( '/assets/icons/genericons-neue.svg#' ) . esc_html( $icon ) . '"></use> ';
    $svg .= '</svg>';

    return $svg;
}


/**
 * Add dropdown icon if menu item has children.
 *
 * @param  string $title The menu item's title.
 * @param  object $item  The current menu item.
 * @param  array  $args  An array of wp_nav_menu() arguments.
 * @param  int    $depth Depth of menu item. Used for padding.
 * @return string $title The menu item's title with dropdown icon.
 */
function donovan_dropdown_icon_to_menu_link( $title, $item, $args, $depth ) {
    if ( 'primary' === $args->theme_location || 'secondary' === $args->theme_location ) {
        foreach ( $item->classes as $value ) {
            if ( 'menu-item-has-children' === $value || 'page_item_has_children' === $value ) {
                $title = $title . '<span class="sub-menu-icon">' . donovan_get_svg( 'expand' ) . '</span>';
            }
        }
    }

    return $title;
}
add_filter( 'nav_menu_item_title', 'donovan_dropdown_icon_to_menu_link', 10, 4 );


/**
 * Return SVG markup for social icons.
 *
 * @param string $icon SVG icon id.
 * @return string $svg SVG markup.
 */
function donovan_get_social_svg( $icon = null ) {
    // Return early if no icon was defined.
    if ( empty( $icon ) ) {
        return;
    }

    // Create SVG markup.
    $svg = '<svg class="icon icon-' . esc_attr( $icon ) . '" aria-hidden="true" role="img">';
    $svg .= ' <use xlink:href="' . get_parent_theme_file_uri( '/assets/icons/social-icons.svg#icon-' ) . esc_html( $icon ) . '"></use> ';
    $svg .= '</svg>';

    return $svg;
}


/**
 * Display SVG icons in social links menu.
 *
 * @param  string  $item_output The menu item output.
 * @param  WP_Post $item        Menu item object.
 * @param  int     $depth       Depth of the menu.
 * @param  array   $args        wp_nav_menu() arguments.
 * @return string  $item_output The menu item output with social icon.
 */
function donovan_social_icons_menu( $item_output, $item, $depth, $args ) {

    // Get supported social icons.
    $social_icons = donovan_supported_social_icons();

    // Change SVG icon inside social links menu if there is supported URL.
    if ( 'social' === $args->theme_location ) {
        $icon = 'star';
        foreach ( $social_icons as $attr => $value ) {
            if ( false !== strpos( $item_output, $attr ) ) {
                $icon = esc_attr( $value );
            }
        }
        $item_output = str_replace( $args->link_after, '</span>' . donovan_get_social_svg( $icon ), $item_output );
    }

    return $item_output;
}
add_filter( 'walker_nav_menu_start_el', 'donovan_social_icons_menu', 10, 4 );


/**
 * Returns an array of supported social links (URL and icon name).
 *
 * @return array $social_links_icons
 */
function donovan_supported_social_icons() {
    // Supported social links icons.
    $supported_social_icons = array(
        '500px'           => '500px',
        'amazon'          => 'amazon',
        'apple'           => 'apple',
        'bandcamp'        => 'bandcamp',
        'behance.net'     => 'behance',
        'bitbucket'       => 'bitbucket',
        'codepen'         => 'codepen',
        'deviantart'      => 'deviantart',
        'digg.com'        => 'digg',
        'dribbble'        => 'dribbble',
        'dropbox.com'     => 'dropbox',
        'etsy.com'        => 'etsy',
        'facebook.com'    => 'facebook',
        'feed'            => 'rss',
        'rss'             => 'rss',
        'flickr.com'      => 'flickr',
        'foursquare.com'  => 'foursquare',
        'github.com'      => 'github',
        'instagram.com'   => 'instagram',
        'linkedin.com'    => 'linkedin',
        'mailto:'         => 'envelope',
        'medium.com'      => 'medium-m',
        'meetup.com'      => 'meetup',
        'pinterest'       => 'pinterest-p',
        'getpocket.com'   => 'get-pocket',
        'reddit.com'      => 'reddit-alien',
        'skype.com'       => 'skype',
        'skype:'          => 'skype',
        'slideshare'      => 'slideshare',
        'snapchat.com'    => 'snapchat',
        'soundcloud.com'  => 'soundcloud',
        'spotify.com'     => 'spotify',
        'stumbleupon.com' => 'stumbleupon',
        'telegram'        => 'telegram',
        't.me'            => 'telegram',
        'tumblr.com'      => 'tumblr',
        'twitch.tv'       => 'twitch',
        'twitter.com'     => 'twitter',
        'vimeo.com'       => 'vimeo',
        'vine.co'         => 'vine',
        'vk.com'          => 'vk',
        'whatsapp'        => 'whatsapp',
        'wa.me'           => 'whatsapp',
        'wordpress.org'   => 'wordpress',
        'wordpress.com'   => 'wordpress',
        'xing.com'        => 'xing',
        'yelp.com'        => 'yelp',
        'youtube.com'     => 'youtube',
    );

    return $supported_social_icons;
}
 
Però non ho capito dove si trova
scusa se non ho risposto subito, ma di questi tempi l'impegno soprattutto per le necessità di famiglia, é maggiore,
ho scaricato da GitHub il pacchetto completo, come credo possa aver fatto anche tu,
le icone sono raccolte in formato "svg" nella cartella "donovan-master\assets\icons"
dove trovi i files "genericons-neue.svg" e "social-icons.svg"
prova ad aprirli con il "blocco note" e potrai vedere il contenuto (parzialmente) capibile
buon pomeriggio
 
scusa se non ho risposto subito, ma di questi tempi l'impegno soprattutto per le necessità di famiglia, é maggiore,
ho scaricato da GitHub il pacchetto completo, come credo possa aver fatto anche tu,
le icone sono raccolte in formato "svg" nella cartella "donovan-master\assets\icons"
dove trovi i files "genericons-neue.svg" e "social-icons.svg"
prova ad aprirli con il "blocco note" e potrai vedere il contenuto (parzialmente) capibile
buon pomeriggio

L'ho scaricato qui: https://it.wordpress.org/themes/donovan/

L'ho trovata genericons-neue.svg ma non è come questa che ho messo nel sito

Codice:
<span class="dashicons dashicons-email-alt" style="color:#ff8000"></span>
 
ho scaricato il tema che mi hai indicato ed é praticamente uguale al codice presente in github

esempio del contenuto del file "social-icons.svg"
HTML:
<symbol id="icon-envelope" viewBox="0 0 512 512">

<symbol id="icon-twitter" viewBox="0 0 512 512">

<symbol id="icon-facebook" viewBox="0 0 512 512">
 

Discussioni simili