닷홈의 워드프레스 > 외모 > Theme editer > functions
<?php
/**
* PhotoBook functions and definitions.
*
* @link https://developer.wordpress.org/themes/basics/theme-functions/
*
* @package PhotoBook
*/
if ( ! function_exists( 'photobook_setup' ) ) :
/**
* Sets up theme defaults and registers support for various WordPress features.
*
* Note that this function is hooked into the after_setup_theme hook, which
* runs before the init hook. The init hook is too late for some features, such
* as indicating support for post thumbnails.
*/
function photobook_setup() {
/*
* Make theme available for translation.
* Translations can be filed in the /languages/ directory.
* If you're building a theme based on PhotoBook, use a find and replace
* to change 'photobook' to the name of your theme in all the template files.
*/
load_theme_textdomain( 'photobook', get_template_directory() . '/languages' );
// Add default posts and comments RSS feed links to head.
add_theme_support( 'automatic-feed-links' );
// Custom Image Crop
add_image_size( 'photobook-banner-image', 1920, 980, true );
add_image_size( 'photobook-front-post-img', 450, 330, true );
add_image_size( 'photobook-blog-img', 750, '', true );
/*
* Let WordPress manage the document title.
* By adding theme support, we declare that this theme does not use a
* hard-coded <title> tag in the document head, and expect WordPress to
* provide it for us.
*/
add_theme_support( 'title-tag' );
/*
* Enable support for Post Thumbnails on posts and pages.
*
* @link https://developer.wordpress.org/themes/functionality/featured-images-post-thumbnails/
*/
add_theme_support( 'post-thumbnails' );
// This theme uses wp_nav_menu() in one location.
register_nav_menus( array(
'primary' => esc_html__( 'Primary', 'photobook' ),
) );
/*
* Switch default core markup for search form, comment form, and comments
* to output valid HTML5.
*/
add_theme_support( 'html5', array(
'search-form',
'comment-form',
'comment-list',
'gallery',
'caption',
) );
/*
* Enable support for Post Formats.
* See https://developer.wordpress.org/themes/functionality/post-formats/
*/
add_theme_support( 'post-formats', array(
'aside',
'image',
'video',
'quote',
'link',
) );
// Set up the WordPress core custom background feature.
add_theme_support( 'custom-background', apply_filters( 'photobook_custom_background_args', array(
'default-color' => 'ffffff',
'default-image' => '',
) ) );
/**
* Add editor style
*/
add_editor_style( 'css/custom-editor-style.css' );
/*
* Add support for Gutenberg.
*
* @link https://wordpress.org/gutenberg/handbook/reference/theme-support/
*/
add_theme_support( 'align-wide' );
}
endif; // photobook_setup
add_action( 'after_setup_theme', 'photobook_setup' );
/**
* Set the content width in pixels, based on the theme's design and stylesheet.
*
* Priority 0 to make it available to lower priority callbacks.
*
* @global int $content_width
*/
function photobook_content_width() {
$GLOBALS['content_width'] = apply_filters( 'photobook_content_width', 640 );
}
add_action( 'after_setup_theme', 'photobook_content_width', 0 );
/**
* Enqueue scripts and styles.
*/
function photobook_scripts() {
// Enqueue Bootstrap Grid
wp_enqueue_style( 'bootstrap', get_template_directory_uri() . '/css/bootstrap.min.css', array(), '3.3.5', '' );
// Enqueue FontAwesome
wp_enqueue_style( 'font-awesome', get_template_directory_uri() . '/css/font-awesome.min.css', array(), '4.4.0', '' );
// Enqueue Swiper.css
wp_enqueue_style( 'swiper', get_template_directory_uri() . '/css/swiper.min.css', array(), '4.0.6', '' );
// Enqueue colorbox.css
wp_enqueue_style( 'colorbox', get_template_directory_uri() . '/css/colorbox.css', array(), '', '' );
// Enqueue Google fonts
wp_enqueue_style( 'photobook-font-roboto', '//fonts.googleapis.com/css?family=Roboto:400,300,500,700,900' );
// Stylesheet
wp_enqueue_style( 'photobook-style', get_stylesheet_uri() );
// Enqueue nicescroll
wp_enqueue_script( 'nicescroll', get_template_directory_uri() . '/js/jquery.nicescroll.min.js', array( 'jquery' ), '3.6.6', '' );
// Enqueue Swiper
wp_enqueue_script( 'swiper', get_template_directory_uri() . '/js/swiper.min.js', array( 'jquery' ), '4.0.6', '' );
// colorbox JS
wp_enqueue_script( 'colorbox', get_template_directory_uri() . '/js/jquery.colorbox-min.js', array( 'jquery' ), '', '' );
// Custom JS
wp_enqueue_script( 'photobook-custom-js', get_template_directory_uri() . '/js/custom.js', array( 'jquery' ), '', true );
if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
wp_enqueue_script( 'comment-reply' );
}
}
add_action( 'wp_enqueue_scripts', 'photobook_scripts' );
/**
* Custom template tags for this theme.
*/
require get_template_directory() . '/inc/template-tags.php';
/**
* Custom functions that act independently of the theme templates.
*/
require get_template_directory() . '/inc/extras.php';
/**
* Customizer additions.
*/
require get_template_directory() . '/inc/customizer.php';
/**
* Load Widgets file
*/
require get_template_directory() . '/inc/widgets/widgets.php';
/**
* Load Dashboard file
*/
require get_template_directory() . '/inc/dashboard.php';
/**
* Convert hexdec color string to rgb(a) string
*/
function photobook_hex2rgba( $color, $opacity = false ) {
$default = 'rgb(0,0,0)';
//Return default if no color provided
if( empty( $color ) )
return $default;
//Sanitize $color if "#" is provided
if ( $color[0] == '#' ) {
$color = substr( $color, 1 );
}
//Check if color has 6 or 3 characters and get values
if ( strlen( $color ) == 6 ) {
$hex = array( $color[0] . $color[1], $color[2] . $color[3], $color[4] . $color[5] );
} elseif ( strlen( $color ) == 3 ) {
$hex = array( $color[0] . $color[0], $color[1] . $color[1], $color[2] . $color[2] );
} else {
return $default;
}
//Convert hexadec to rgb
$rgb = array_map( 'hexdec', $hex );
//Check if opacity is set(rgba or rgb)
if( $opacity ){
if( abs( $opacity ) > 1 )
$opacity = 1.0;
$output = 'rgba( '.implode( ",",$rgb ).','.$opacity.' )';
} else {
$output = 'rgb( '.implode( ",",$rgb ).' )';
}
//Return rgb(a) color string
return $output;
}
/**
* Breadcrumbs
*/
function photobook_breadcrumb() {
global $post;
echo '<ul id="dt_breadcrumbs">';
if ( !is_home() ) {
echo '<li><a href="';
echo esc_url( home_url() );
echo '">';
echo __( 'Home', 'photobook' );
echo '</a></li><li class="separator"> / </li>';
if ( is_category() || is_single() ) {
echo '<li>';
the_category( ' </li><li class="separator"> / </li><li> ' );
if ( is_single() ) {
echo '</li><li class="separator"> / </li><li>';
the_title();
echo '</li>';
}
} elseif ( is_page() ) {
if ( $post->post_parent ){
$anc = get_post_ancestors( $post->ID );
$title = get_the_title();
foreach ( $anc as $ancestor ) {
$output = '<li><a href="'. esc_url( get_permalink( $ancestor ) ) .'" title="'. esc_attr( get_the_title( $ancestor ) ) .'">'. esc_attr( get_the_title( $ancestor ) ) .'</a></li> <li class="separator"> / </li>';
}
echo $output;
echo esc_attr( $title );
} else {
echo '<li>'. the_title_attribute() .'</li>';
}
}
} elseif ( is_tag() ) {
single_tag_title();
} elseif ( is_day() ) {
echo"<li>" . __( 'Archive for', 'photobook' ); the_time( 'F jS, Y' ); echo'</li>';
} elseif ( is_month() ) {
echo"<li>" . __( 'Archive for', 'photobook' ); the_time( 'F, Y' ); echo'</li>';
} elseif ( is_year() ) {
echo"<li>" . __( 'Archive for', 'photobook' ); the_time( 'Y' ); echo'</li>';
} elseif ( is_author( ) ) {
echo"<li>" . __( 'Author Archive', 'photobook' ); echo'</li>';
} elseif ( isset( $_GET['paged'] ) && !empty( $_GET['paged'] ) ) {
echo "<li>" . __( 'Blog Archive', 'photobook' ); echo'</li>';
} elseif ( is_search() ) {
echo"<li>" . __( 'Search Results', 'photobook' ); echo'</li>';
}
echo '</ul>';
}
/**
* Register Load more scripts
*/
function photobook_register_load_more_scripts() {
wp_localize_script( 'photobook-custom-js', 'photobook_load_more', array(
'dt_nonce' => wp_create_nonce( 'dt_nonce' ),
'ajax_url' => admin_url( 'admin-ajax.php' )
));
}
add_action( 'wp_enqueue_scripts','photobook_register_load_more_scripts' );
/**
* Ajax load more posts
*/
function photobook_get_ajax_results(){
if ( !isset( $_POST['dt_nonce'] ) || !wp_verify_nonce( $_POST['dt_nonce'], 'dt_nonce' ) )
die( 'Permissions check failed.' );
$dt_pageNumber = absint( ( isset( $_POST['dt_pageNumber'] ) ) ? $_POST['dt_pageNumber'] : 0 );
$args = array(
'post_type' => 'post',
'posts_per_page' => get_option( 'posts_per_page' ) + 1,
'paged' => $dt_pageNumber
);
$loop = new WP_Query( $args );
if ( $loop->have_posts() ) :
while ( $loop->have_posts() ) : $loop->the_post(); ?>
<div class="dt-front-post">
<figure>
<?php
if ( has_post_thumbnail() ) {
$dt_post_id = get_the_ID();
$dt_post_thumbnail_id = get_post_thumbnail_id( $dt_post_id );
$dt_thumbnail = wp_get_attachment_image( $dt_post_thumbnail_id, 'photobook-front-post-img', true );
echo $dt_thumbnail;
}
?>
</figure>
<div class="dt-front-post-meta transition5">
<h2><?php the_title(); ?></h2>
<a href="<?php echo esc_url( get_the_permalink() ); ?>"><?php _e( 'View Details', 'photobook' ); ?></a>
</div><!-- .dt-front-post-meta .transition5 -->
</div><!-- .dt-front-post -->
<?php endwhile;
wp_reset_postdata();
endif;
die();
}
add_action( 'wp_ajax_get_ajax_results', 'photobook_get_ajax_results' ); //for logged in users
add_action( 'wp_ajax_nopriv_get_ajax_results', 'photobook_get_ajax_results' ); //for non logged in users
/**
* wp localize script
*/
function photobook_load_scripts() {
wp_enqueue_script( 'photobook-loadmore', get_template_directory_uri() .'/js/loadmore.js' );
wp_localize_script( 'photobook-loadmore', 'photobook_script_vars', array(
'no_more_posts' => __( 'No more post', 'photobook' )
)
);
}
add_action('wp_enqueue_scripts', 'photobook_load_scripts');
/**
* Filter the except length.
*
* @param int $length Excerpt length.
* @return int (Maybe) modified excerpt length.
*/
function glow_archive_excerpt_length( $length ) {
return ( is_front_page() ) ? 18 : 35;
}
add_filter( 'excerpt_length', 'glow_archive_excerpt_length', 999 );
/**
* Filter the excerpt "read more" string.
*
* @param string $more "Read more" excerpt string.
* @return string (Maybe) modified "read more" excerpt string.
*/
function glow_excerpt_more( $more ) {
return '...';
}
add_filter( 'excerpt_more', 'glow_excerpt_more' );
}
add_filter('kboard_list_where', 'my_kboard_list_where', 10, 3);
function my_kboard_list_where($where, $board_id, $content_list){
$id = '2';
if($board_id == '1'){
$where = "`board_id`='{$board_id}' OR `board_id`='{$id}' AND `parent_uid`='0' AND `notice`='' AND (`status`='' OR `status` IS NULL OR `status`='pending_approval')";
}
return $where;
}
안녕하세요~^^
올려주신 코드를 확인해보니
아래와 같은 코드가 있습니다.
add_filter( 'excerpt_more', 'glow_excerpt_more' );
}
위의 코드를 아래의 코드로 교체해서 확인해보시겠어요?
add_filter( 'excerpt_more', 'glow_excerpt_more' );
코드 수정 시 중괄호의 열고 닫힘을 잘 확인해주셔야 합니다.
PHP 뿐만 아니라 CSS, Javascript 등 코드 수정 시
중괄호를 정확하게 입력하지 않으면 원치 않는 결과를 얻으실 수 있습니다.
고맙습니다.