mirror of
https://github.com/lubuntu-team/lubuntu.me.git
synced 2025-02-22 15:51:08 +00:00
1477 lines
33 KiB
PHP
1477 lines
33 KiB
PHP
<?php
|
|
|
|
/*
|
|
* @Author pickplugins
|
|
* Copyright: 2015 pickplugins.com
|
|
*/
|
|
|
|
if ( ! defined('ABSPATH')) exit; // if direct access
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function post_grid_add_shortcode_column( $columns ) {
|
|
return array_merge( $columns,
|
|
array( 'shortcode' => __( 'Shortcode', 'post_grid' ) ) );
|
|
}
|
|
add_filter( 'manage_post_grid_posts_columns' , 'post_grid_add_shortcode_column' );
|
|
|
|
|
|
function post_grid_posts_shortcode_display( $column, $post_id ) {
|
|
if ($column == 'shortcode'){
|
|
?>
|
|
<input style="background:#bfefff" type="text" onClick="this.select();" value="[post_grid <?php echo 'id="'.$post_id.'"';?>]" /><br />
|
|
<textarea cols="50" rows="1" style="background:#bfefff" onClick="this.select();" ><?php echo '<?php echo do_shortcode("[post_grid id='; echo "'".$post_id."']"; echo '"); ?>'; ?></textarea>
|
|
<?php
|
|
|
|
}
|
|
}
|
|
add_action( 'manage_post_grid_posts_custom_column' , 'post_grid_posts_shortcode_display', 10, 2 );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function post_grid_get_media($media_source, $featured_img_size, $thumb_linked){
|
|
|
|
|
|
$post_grid_post_settings = get_post_meta(get_the_ID(), 'post_grid_post_settings');
|
|
|
|
if(!empty($post_grid_post_settings[0]['custom_thumb_source'])){
|
|
$custom_thumb_source = $post_grid_post_settings[0]['custom_thumb_source'];
|
|
|
|
}
|
|
else{
|
|
$custom_thumb_source = post_grid_plugin_url.'assets/frontend/css/images/placeholder.png';
|
|
|
|
}
|
|
|
|
if(!empty($post_grid_post_settings[0]['font_awesome_icon'])){
|
|
$font_awesome_icon = $post_grid_post_settings[0]['font_awesome_icon'];
|
|
|
|
}
|
|
else{
|
|
$font_awesome_icon = '';
|
|
|
|
}
|
|
|
|
if(!empty($post_grid_post_settings[0]['font_awesome_icon_color'])){
|
|
$font_awesome_icon_color = $post_grid_post_settings[0]['font_awesome_icon_color'];
|
|
|
|
}
|
|
else{
|
|
$font_awesome_icon_color = '#737272';
|
|
|
|
}
|
|
|
|
|
|
if(!empty($post_grid_post_settings[0]['font_awesome_icon_size'])){
|
|
$font_awesome_icon_size = $post_grid_post_settings[0]['font_awesome_icon_size'];
|
|
|
|
}
|
|
else{
|
|
$font_awesome_icon_size = '50px';
|
|
|
|
}
|
|
|
|
|
|
if(!empty($post_grid_post_settings[0]['custom_youtube_id'])){
|
|
$custom_youtube_id = $post_grid_post_settings[0]['custom_youtube_id'];
|
|
}
|
|
else{
|
|
$custom_youtube_id = '';
|
|
|
|
}
|
|
|
|
if(!empty($post_grid_post_settings[0]['custom_vimeo_id'])){
|
|
$custom_vimeo_id = $post_grid_post_settings[0]['custom_vimeo_id'];
|
|
}
|
|
else{
|
|
$custom_vimeo_id = '';
|
|
|
|
}
|
|
|
|
|
|
if(!empty($post_grid_post_settings[0]['custom_dailymotion_id'])){
|
|
$custom_dailymotion_id = $post_grid_post_settings[0]['custom_dailymotion_id'];
|
|
}
|
|
else{
|
|
$custom_dailymotion_id = '';
|
|
|
|
}
|
|
|
|
if(!empty($post_grid_post_settings[0]['custom_mp3_url'])){
|
|
$custom_mp3_url = $post_grid_post_settings[0]['custom_mp3_url'];
|
|
}
|
|
else{
|
|
$custom_mp3_url = '';
|
|
|
|
}
|
|
|
|
|
|
if(!empty($post_grid_post_settings[0]['custom_soundcloud_id'])){
|
|
$custom_soundcloud_id = $post_grid_post_settings[0]['custom_soundcloud_id'];
|
|
}
|
|
else{
|
|
$custom_soundcloud_id = '';
|
|
|
|
}
|
|
|
|
|
|
//echo '<pre>'.var_export($post_grid_post_settings).'</pre>';
|
|
|
|
$html_thumb = '';
|
|
|
|
|
|
if($media_source == 'featured_image'){
|
|
$thumb = wp_get_attachment_image_src( get_post_thumbnail_id(get_the_ID()), $featured_img_size );
|
|
|
|
//var_dump();
|
|
|
|
$alt_text = get_post_meta(get_post_thumbnail_id(get_the_ID()), '_wp_attachment_image_alt', true);
|
|
|
|
$thumb_url = $thumb['0'];
|
|
|
|
|
|
if(!empty($thumb_url)){
|
|
if($thumb_linked=='yes'){
|
|
$html_thumb.= '<a href="'.get_permalink().'"><img alt="'.$alt_text.'" src="'.$thumb_url.'" /></a>';
|
|
}
|
|
else{
|
|
$html_thumb.= '<img alt="'.$alt_text.'" src="'.$thumb_url.'" />';
|
|
}
|
|
|
|
|
|
}
|
|
else{
|
|
|
|
$html_thumb.= '';
|
|
}
|
|
|
|
}
|
|
|
|
|
|
elseif($media_source == 'empty_thumb'){
|
|
|
|
|
|
if($thumb_linked=='yes'){
|
|
$html_thumb.= '<a class="custom" href="'.get_permalink().'"><img src="'.post_grid_plugin_url.'assets/frontend/css/images/placeholder.png" /></a>';
|
|
}
|
|
else{
|
|
$html_thumb.= '<img class="custom" src="'.post_grid_plugin_url.'assets/frontend/css/images/placeholder.png" />';
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
elseif($media_source == 'custom_thumb'){
|
|
|
|
if(!empty($custom_thumb_source)){
|
|
|
|
if($thumb_linked=='yes'){
|
|
$html_thumb.= '<a href="'.get_permalink().'"><img src="'.$custom_thumb_source.'" /></a>';
|
|
}
|
|
else{
|
|
$html_thumb.= '<img src="'.$custom_thumb_source.'" />';
|
|
}
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
elseif($media_source == 'font_awesome'){
|
|
|
|
if(!empty($custom_thumb_source)){
|
|
|
|
if($thumb_linked=='yes'){
|
|
$html_thumb.= '<a href="'.get_permalink().'"><i style="color:'.$font_awesome_icon_color.';font-size:'.$font_awesome_icon_size.'" class="fa '.$font_awesome_icon.'"></i></a>';
|
|
}
|
|
else{
|
|
$html_thumb.= '<i style="color:'.$font_awesome_icon_color.';font-size:'.$font_awesome_icon_size.'" class="fa '.$font_awesome_icon.'"></i>';
|
|
}
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
elseif($media_source == 'first_image'){
|
|
|
|
//global $post, $posts;
|
|
$post = get_post(get_the_ID());
|
|
$post_content = $post->post_content;
|
|
|
|
//var_dump('Hello');
|
|
|
|
|
|
$first_img = '';
|
|
ob_start();
|
|
ob_end_clean();
|
|
$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post_content, $matches);
|
|
|
|
if(!empty($matches[1][0]))
|
|
$first_img = $matches[1][0];
|
|
|
|
if(empty($first_img)) {
|
|
$html_thumb.= '';
|
|
}
|
|
else{
|
|
|
|
if($thumb_linked=='yes'){
|
|
$html_thumb.= '<a href="'.get_permalink().'"><img src="'.$first_img.'" /></a>';
|
|
}
|
|
else{
|
|
$html_thumb.= '<img src="'.$first_img.'" />';
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
elseif($media_source == 'first_gallery'){
|
|
|
|
$gallery = get_post_gallery( get_the_ID(), false );
|
|
|
|
|
|
|
|
if(!empty($gallery)){
|
|
$html_thumb.= '<div class="gallery owl-carousel">';
|
|
|
|
if(!empty($gallery['ids'])){
|
|
$ids = $gallery['ids'];
|
|
$ids = explode(',',$ids);
|
|
|
|
}
|
|
else{
|
|
|
|
$ids = array();
|
|
}
|
|
|
|
|
|
//var_dump($ids);
|
|
|
|
foreach($ids as $id ){
|
|
|
|
$src = wp_get_attachment_url( $id);
|
|
$alt_text = get_post_meta($id, '_wp_attachment_image_alt', true);
|
|
|
|
$html_thumb .= '<img src="'.$src.'" class="gallery-item" alt="'.$alt_text.'" />';
|
|
|
|
}
|
|
|
|
$html_thumb.= '</div>';
|
|
}
|
|
|
|
}
|
|
|
|
elseif($media_source == 'first_youtube'){
|
|
|
|
$post = get_post(get_the_ID());
|
|
|
|
$post_type = $post->post_type;
|
|
//var_dump($post_type);
|
|
|
|
if($post_type=='page'){
|
|
$content = '';
|
|
$html_thumb.= '';
|
|
}
|
|
else{
|
|
|
|
$content = do_shortcode( $post->post_content );
|
|
}
|
|
|
|
$embeds = get_media_embedded_in_content( $content );
|
|
|
|
|
|
foreach($embeds as $key=>$embed){
|
|
|
|
if(strchr($embed,'youtube')){
|
|
|
|
$embed_youtube = $embed;
|
|
}
|
|
|
|
}
|
|
|
|
if(!empty($embed_youtube) ){
|
|
$html_thumb.= $embed_youtube;
|
|
}
|
|
else{
|
|
$html_thumb.= '';
|
|
}
|
|
|
|
}
|
|
|
|
elseif($media_source == 'first_vimeo'){
|
|
|
|
$post = get_post(get_the_ID());
|
|
$post_type = $post->post_type;
|
|
//var_dump($post_type);
|
|
|
|
if($post_type=='page'){
|
|
$content = '';
|
|
$html_thumb.= '';
|
|
}
|
|
else{
|
|
|
|
$content = do_shortcode( $post->post_content );
|
|
}
|
|
$embeds = get_media_embedded_in_content( $content );
|
|
|
|
foreach($embeds as $key=>$embed){
|
|
|
|
if(strchr($embed,'vimeo')){
|
|
|
|
$embed_youtube = $embed;
|
|
}
|
|
|
|
}
|
|
|
|
if(!empty($embed_youtube) ){
|
|
$html_thumb.= $embed_youtube;
|
|
}
|
|
else{
|
|
$html_thumb.= '';
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
elseif($media_source == 'first_dailymotion'){
|
|
|
|
$post = get_post(get_the_ID());
|
|
$post_type = $post->post_type;
|
|
//var_dump($post_type);
|
|
|
|
if($post_type=='page'){
|
|
$content = '';
|
|
$html_thumb.= '';
|
|
}
|
|
else{
|
|
|
|
$content = do_shortcode( $post->post_content );
|
|
}
|
|
$embeds = get_media_embedded_in_content( $content );
|
|
|
|
foreach($embeds as $key=>$embed){
|
|
|
|
if(strchr($embed,'dailymotion')){
|
|
|
|
$embed_youtube = $embed;
|
|
}
|
|
|
|
}
|
|
|
|
if(!empty($embed_youtube) ){
|
|
$html_thumb.= $embed_youtube;
|
|
}
|
|
else{
|
|
$html_thumb.= '';
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
elseif($media_source == 'first_mp3'){
|
|
|
|
$post = get_post(get_the_ID());
|
|
$post_type = $post->post_type;
|
|
//var_dump($post_type);
|
|
|
|
if($post_type=='page'){
|
|
$content = '';
|
|
$html_thumb.= '';
|
|
}
|
|
else{
|
|
|
|
$content = do_shortcode( $post->post_content );
|
|
}
|
|
$embeds = get_media_embedded_in_content( $content );
|
|
|
|
foreach($embeds as $key=>$embed){
|
|
|
|
if(strchr($embed,'mp3')){
|
|
|
|
$embed_youtube = $embed;
|
|
}
|
|
|
|
}
|
|
|
|
if(!empty($embed_youtube) ){
|
|
$html_thumb.= $embed_youtube;
|
|
}
|
|
else{
|
|
$html_thumb.= '';
|
|
}
|
|
|
|
}
|
|
|
|
elseif($media_source == 'first_soundcloud'){
|
|
|
|
$post = get_post(get_the_ID());
|
|
$post_type = $post->post_type;
|
|
//var_dump($post_type);
|
|
|
|
if($post_type=='page'){
|
|
$content = '';
|
|
$html_thumb.= '';
|
|
}
|
|
else{
|
|
|
|
$content = do_shortcode( $post->post_content );
|
|
}
|
|
$embeds = get_media_embedded_in_content( $content );
|
|
|
|
foreach($embeds as $key=>$embed){
|
|
|
|
if(strchr($embed,'soundcloud')){
|
|
|
|
$embed_youtube = $embed;
|
|
}
|
|
|
|
}
|
|
|
|
if(!empty($embed_youtube) ){
|
|
$html_thumb.= $embed_youtube;
|
|
}
|
|
else{
|
|
$html_thumb.= '';
|
|
}
|
|
|
|
}
|
|
|
|
|
|
elseif($media_source == 'custom_youtube'){
|
|
|
|
if(!empty($custom_youtube_id)){
|
|
$html_thumb.= '<iframe frameborder="0" allowfullscreen="" src="http://www.youtube.com/embed/'.$custom_youtube_id.'?feature=oembed"></iframe>';
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
elseif($media_source == 'custom_vimeo'){
|
|
|
|
if(!empty($custom_vimeo_id)){
|
|
$html_thumb.= '<iframe frameborder="0" allowfullscreen="" mozallowfullscreen="" webkitallowfullscreen="" src="https://player.vimeo.com/video/'.$custom_vimeo_id.'"></iframe>';
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
elseif($media_source == 'custom_dailymotion'){
|
|
|
|
if(!empty($custom_dailymotion_id)){
|
|
$html_thumb.= '<iframe frameborder="0" allowfullscreen="" mozallowfullscreen="" webkitallowfullscreen="" src="//www.dailymotion.com/embed/video/'.$custom_dailymotion_id.'"></iframe>';
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
elseif($media_source == 'custom_mp3'){
|
|
|
|
if(!empty($custom_mp3_url)){
|
|
$html_thumb.= do_shortcode('[audio src="'.$custom_mp3_url.'"]');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
elseif($media_source == 'custom_soundcloud'){
|
|
|
|
if(!empty($custom_soundcloud_id)){
|
|
$html_thumb.= '<iframe width="100%" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/'.$custom_soundcloud_id.'&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false&visual=true"></iframe>';
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return $html_thumb;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function post_grid_remove_content_layout_ajax(){
|
|
|
|
if(current_user_can('manage_options')){
|
|
|
|
$layout_id = sanitize_text_field($_POST['layout_id']);
|
|
|
|
$post_grid_layout_content = get_option('post_grid_layout_content');
|
|
unset($post_grid_layout_content[$layout_id]);
|
|
|
|
update_option('post_grid_layout_content',$post_grid_layout_content);
|
|
|
|
}
|
|
|
|
die();
|
|
|
|
}
|
|
|
|
add_action('wp_ajax_post_grid_remove_content_layout_ajax', 'post_grid_remove_content_layout_ajax');
|
|
|
|
|
|
|
|
|
|
|
|
function post_grid_reset_content_layouts(){
|
|
|
|
if(current_user_can('manage_options')){
|
|
|
|
$class_post_grid_functions = new class_post_grid_functions();
|
|
$layout_content_list = $class_post_grid_functions->layout_content_list();
|
|
update_option('post_grid_layout_content', $layout_content_list);
|
|
|
|
}
|
|
|
|
die();
|
|
}
|
|
|
|
|
|
add_action('wp_ajax_post_grid_reset_content_layouts', 'post_grid_reset_content_layouts');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function post_grid_term_slug_list($post_id){
|
|
|
|
|
|
$term_slug_list = '';
|
|
|
|
$post_taxonomies = get_post_taxonomies($post_id);
|
|
|
|
foreach($post_taxonomies as $taxonomy){
|
|
|
|
$term_list[] = wp_get_post_terms(get_the_ID(), $taxonomy, array("fields" => "all"));
|
|
|
|
}
|
|
|
|
if(!empty($term_list)){
|
|
foreach($term_list as $term_key=>$term)
|
|
{
|
|
foreach($term as $term_id=>$term){
|
|
$term_slug_list .= $term->slug.' ';
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|
|
return $term_slug_list;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function post_grid_meta_query_args($meta_query){
|
|
|
|
foreach($meta_query as $key=>$meta_info){
|
|
|
|
?>
|
|
<div class="items">
|
|
<div class="header"><span class="remove"><i class="fa fa-times"></i></span><?php echo $key; ?></div>
|
|
<div class="options">
|
|
|
|
Key<br />
|
|
<input type="text" name="post_grid_meta_options[meta_query][<?php echo $key; ?>][key]" value="<?php echo $meta_info['key']; ?>" /><br>
|
|
Value<br />
|
|
<input type="text" name="post_grid_meta_options[meta_query][<?php echo $key; ?>][value]" value="<?php echo $meta_info['value']; ?>" /><br>
|
|
Compare<br />
|
|
<input type="text" name="post_grid_meta_options[meta_query][<?php echo $key; ?>][compare]" value="<?php echo $meta_info['compare']; ?>" /><br>
|
|
Type<br />
|
|
<input type="text" name="post_grid_meta_options[meta_query][<?php echo $key; ?>][type]" value="<?php echo $meta_info['type']; ?>" /><br>
|
|
|
|
</div>
|
|
</div>
|
|
<?php
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function post_grid_posttypes($post_types){
|
|
|
|
$html = '';
|
|
$html .= '<select post_id="'.get_the_ID().'" class="post_types" multiple="multiple" size="6" name="post_grid_meta_options[post_types][]">';
|
|
|
|
$post_types_all = get_post_types( '', 'names' );
|
|
foreach ( $post_types_all as $post_type ) {
|
|
|
|
global $wp_post_types;
|
|
$obj = $wp_post_types[$post_type];
|
|
|
|
if(in_array($post_type,$post_types)){
|
|
$selected = 'selected';
|
|
}
|
|
else{
|
|
$selected = '';
|
|
}
|
|
|
|
$html .= '<option '.$selected.' value="'.$post_type.'" >'.$obj->labels->singular_name.'</option>';
|
|
}
|
|
|
|
$html .= '</select>';
|
|
return $html;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function post_grid_layout_content_ajax(){
|
|
|
|
if(current_user_can('manage_options')){
|
|
|
|
$layout_key = sanitize_text_field($_POST['layout']);
|
|
|
|
$class_post_grid_functions = new class_post_grid_functions();
|
|
|
|
|
|
$post_grid_layout_content = get_option( 'post_grid_layout_content' );
|
|
|
|
if(empty($post_grid_layout_content)){
|
|
$layout = $class_post_grid_functions->layout_content($layout_key);
|
|
}
|
|
else{
|
|
$layout = $post_grid_layout_content[$layout_key];
|
|
|
|
}
|
|
|
|
//$layout = $class_post_grid_functions->layout_content($layout_key);
|
|
|
|
|
|
|
|
?>
|
|
<div class="<?php echo $layout_key; ?>">
|
|
<?php
|
|
|
|
foreach($layout as $item_key=>$item_info){
|
|
$item_key = $item_info['key'];
|
|
?>
|
|
|
|
|
|
<div class="item <?php echo $item_key; ?>" style=" <?php echo $item_info['css']; ?> ">
|
|
|
|
<?php
|
|
|
|
if($item_key=='thumb'){
|
|
|
|
?>
|
|
<img src="<?php echo post_grid_plugin_url; ?>assets/admin/images/thumb.png" />
|
|
<?php
|
|
}
|
|
|
|
elseif($item_key=='title'){
|
|
|
|
?>
|
|
Lorem Ipsum is simply
|
|
|
|
<?php
|
|
}
|
|
|
|
elseif($item_key=='excerpt'){
|
|
|
|
?>
|
|
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text
|
|
<?php
|
|
}
|
|
|
|
elseif($item_key=='excerpt_read_more'){
|
|
|
|
?>
|
|
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text <a href="#">Read more</a>
|
|
<?php
|
|
}
|
|
|
|
elseif($item_key=='read_more'){
|
|
|
|
?>
|
|
<a href="#">Read more</a>
|
|
<?php
|
|
}
|
|
|
|
elseif($item_key=='post_date'){
|
|
|
|
?>
|
|
18/06/2015
|
|
<?php
|
|
}
|
|
|
|
elseif($item_key=='author'){
|
|
|
|
?>
|
|
PickPlugins
|
|
<?php
|
|
}
|
|
|
|
elseif($item_key=='categories'){
|
|
|
|
?>
|
|
<a hidden="#">Category 1</a> <a hidden="#">Category 2</a>
|
|
<?php
|
|
}
|
|
|
|
elseif($item_key=='tags'){
|
|
|
|
?>
|
|
<a hidden="#">Tags 1</a> <a hidden="#">Tags 2</a>
|
|
<?php
|
|
}
|
|
|
|
elseif($item_key=='comments_count'){
|
|
|
|
?>
|
|
3 Comments
|
|
<?php
|
|
}
|
|
|
|
// WooCommerce
|
|
elseif($item_key=='wc_full_price'){
|
|
|
|
?>
|
|
<del>$45</del> - <ins>$40</ins>
|
|
<?php
|
|
}
|
|
elseif($item_key=='wc_sale_price'){
|
|
|
|
?>
|
|
$45
|
|
<?php
|
|
}
|
|
|
|
elseif($item_key=='wc_regular_price'){
|
|
|
|
?>
|
|
$45
|
|
<?php
|
|
}
|
|
|
|
elseif($item_key=='wc_add_to_cart'){
|
|
|
|
?>
|
|
Add to Cart
|
|
<?php
|
|
}
|
|
|
|
elseif($item_key=='wc_rating_star'){
|
|
|
|
?>
|
|
*****
|
|
<?php
|
|
}
|
|
|
|
elseif($item_key=='wc_rating_text'){
|
|
|
|
?>
|
|
2 Reviews
|
|
<?php
|
|
}
|
|
elseif($item_key=='wc_categories'){
|
|
|
|
?>
|
|
<a hidden="#">Category 1</a> <a hidden="#">Category 2</a>
|
|
<?php
|
|
}
|
|
|
|
elseif($item_key=='wc_tags'){
|
|
|
|
?>
|
|
<a hidden="#">Tags 1</a> <a hidden="#">Tags 2</a>
|
|
<?php
|
|
}
|
|
|
|
elseif($item_key=='edd_price'){
|
|
|
|
?>
|
|
$45
|
|
<?php
|
|
}
|
|
|
|
|
|
else{
|
|
|
|
echo $item_info['name'];
|
|
|
|
}
|
|
|
|
?>
|
|
|
|
|
|
|
|
</div>
|
|
<?php
|
|
}
|
|
|
|
?>
|
|
</div>
|
|
<?php
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
die();
|
|
|
|
}
|
|
|
|
add_action('wp_ajax_post_grid_layout_content_ajax', 'post_grid_layout_content_ajax');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function post_grid_layout_add_elements(){
|
|
|
|
|
|
if(current_user_can('manage_options')){
|
|
|
|
|
|
$item_key = sanitize_text_field($_POST['item_key']);
|
|
$layout = sanitize_text_field($_POST['layout']);
|
|
$unique_id = sanitize_text_field($_POST['unique_id']);
|
|
|
|
$class_post_grid_functions = new class_post_grid_functions();
|
|
$layout_items = $class_post_grid_functions->layout_items();
|
|
|
|
|
|
|
|
$html = array();
|
|
$html['item'] = '';
|
|
$html['item'].= '<div class="item '.$item_key.'" >';
|
|
|
|
|
|
if($item_key=='thumb'){
|
|
|
|
$html['item'].= '<img style="width:100%;" src="'.post_grid_plugin_url.'assets/admin/images/thumb.png" />';
|
|
|
|
}
|
|
|
|
elseif($item_key=='thumb_link'){
|
|
|
|
$html['item'].= '<a href="#"><img style="width:100%;" src="'.post_grid_plugin_url.'assets/admin/images/thumb.png" /></a>';
|
|
|
|
}
|
|
|
|
|
|
elseif($item_key=='title'){
|
|
|
|
$html['item'].= 'Lorem Ipsum is simply';
|
|
|
|
}
|
|
|
|
elseif($item_key=='title_link'){
|
|
|
|
$html['item'].= '<a href="#">Lorem Ipsum is simply</a>';
|
|
|
|
}
|
|
|
|
|
|
elseif($item_key=='excerpt'){
|
|
$html['item'].= 'Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text';
|
|
|
|
|
|
}
|
|
|
|
elseif($item_key=='excerpt_read_more'){
|
|
$html['item'].= 'Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text <a href="#">Read more</a>';
|
|
|
|
}
|
|
|
|
elseif($item_key=='read_more'){
|
|
$html['item'].= '<a href="#">Read more</a>';
|
|
|
|
}
|
|
|
|
elseif($item_key=='post_date'){
|
|
$html['item'].= '18/06/2015';
|
|
|
|
}
|
|
|
|
elseif($item_key=='author'){
|
|
$html['item'].= 'PickPlugins';
|
|
|
|
}
|
|
|
|
elseif($item_key=='categories'){
|
|
$html['item'].= '<a hidden="#">Category 1</a> <a hidden="#">Category 2</a>';
|
|
|
|
}
|
|
|
|
elseif($item_key=='tags'){
|
|
$html['item'].= '<a hidden="#">Tags 1</a> <a hidden="#">Tags 2</a>';
|
|
|
|
}
|
|
|
|
elseif($item_key=='comments_count'){
|
|
$html['item'].= '3 Comments';
|
|
|
|
}
|
|
|
|
// WooCommerce
|
|
elseif($item_key=='wc_full_price'){
|
|
$html['item'].= '<del>$45</del> - <ins>$40</ins>';
|
|
|
|
}
|
|
elseif($item_key=='wc_sale_price'){
|
|
$html['item'].= '$45';
|
|
|
|
}
|
|
|
|
elseif($item_key=='wc_regular_price'){
|
|
$html['item'].= '$45';
|
|
|
|
}
|
|
|
|
elseif($item_key=='wc_add_to_cart'){
|
|
$html['item'].= 'Add to Cart';
|
|
|
|
}
|
|
|
|
elseif($item_key=='wc_rating_star'){
|
|
$html['item'].= '*****';
|
|
|
|
}
|
|
|
|
elseif($item_key=='wc_rating_text'){
|
|
$html['item'].= '2 Reviews';
|
|
|
|
}
|
|
elseif($item_key=='wc_categories'){
|
|
$html['item'].= '<a href="#">Category 1</a> <a href="#">Category 2</a>';
|
|
|
|
}
|
|
|
|
elseif($item_key=='wc_tags'){
|
|
$html['item'].= '<a href="#" >Tags 1</a> <a href="#">Tags 2</a>';
|
|
|
|
}
|
|
|
|
/* WP eCommerce Stuff*/
|
|
|
|
elseif($item_key=='WPeC_old_price'){
|
|
$html['item'].= '$45';
|
|
|
|
}
|
|
|
|
elseif($item_key=='WPeC_sale_price'){
|
|
$html['item'].= '$40';
|
|
|
|
}
|
|
elseif($item_key=='WPeC_add_to_cart'){
|
|
$html['item'].= 'Add to Cart';
|
|
|
|
}
|
|
|
|
elseif($item_key=='WPeC_rating_star'){
|
|
$html['item'].= '*****';
|
|
|
|
}
|
|
elseif($item_key=='WPeC_categories'){
|
|
$html['item'].= '<a href="#">Category 1</a> <a href="#">Category 2</a>';
|
|
|
|
}
|
|
|
|
|
|
elseif($item_key=='meta_key'){
|
|
$html['item'].= 'Meta Key';
|
|
|
|
}
|
|
|
|
|
|
elseif($item_key=='html'){
|
|
$html['item'].= 'HTML';
|
|
|
|
}
|
|
|
|
|
|
|
|
else{
|
|
|
|
echo '';
|
|
|
|
}
|
|
$html['item'].= '</div>';
|
|
|
|
$html['options'] = '';
|
|
$html['options'].= '<div class="items" id="'.$unique_id.'">';
|
|
$html['options'].= '<div class="header"><span class="remove"><i class="fa fa-times"></i></span>'.$layout_items[$item_key].'</div>';
|
|
$html['options'].= '<div class="options">';
|
|
|
|
if($item_key=='meta_key'){
|
|
|
|
$html['options'].= 'Meta Key: <br /><input type="text" value="" name="post_grid_layout_content['.$layout.']['.$unique_id.'][field_id]" /><br /><br />';
|
|
$html['options'].= 'Wrapper: <br />use %s where you want to repalce the meta value. Example<pre><div>%s</div></pre> <br /><input type="text" value="%s" name="post_grid_layout_content['.$layout.']['.$unique_id.'][wrapper]" /><br /><br />';
|
|
|
|
|
|
}
|
|
|
|
if($item_key=='html'){
|
|
|
|
$html['options'].= 'Custom HTML: <br /><input type="text" value="" name="post_grid_layout_content['.$layout.']['.$unique_id.'][html]" /><br /><br />';
|
|
|
|
}
|
|
|
|
|
|
|
|
if($item_key=='read_more'){
|
|
|
|
$html['options'].= 'Read more text: <br /><input type="text" value="" name="post_grid_layout_content['.$layout.']['.$unique_id.'][read_more_text]" /><br /><br />';
|
|
}
|
|
|
|
|
|
|
|
if($item_key=='title' || $item_key=='title_link' || $item_key=='excerpt' || $item_key=='excerpt_read_more' ){
|
|
|
|
$html['options'].= 'Character limit: <br /><input type="text" value="20" name="post_grid_layout_content['.$layout.']['.$unique_id.'][char_limit]" /><br /><br />';
|
|
}
|
|
|
|
if($item_key=='title_link' || $item_key=='read_more' || $item_key=='excerpt_read_more' ){
|
|
|
|
$html['options'].= 'Link target: <br />
|
|
<select name="post_grid_layout_content['.$layout.']['.$unique_id.'][link_target]" >
|
|
<option value="_blank">_blank</option>
|
|
<option value="_parent">_parent</option>
|
|
<option value="_self">_self</option>
|
|
<option value="_top">_top</option>
|
|
<option value="new">new</option>
|
|
</select><br /><br />';
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$html['options'].= '
|
|
<input type="hidden" value="'.$item_key.'" name="post_grid_layout_content['.$layout.']['.$unique_id.'][key]" />
|
|
<input type="hidden" value="'.$layout_items[$item_key].'" name="post_grid_layout_content['.$layout.']['.$unique_id.'][name]" />
|
|
CSS: <br />
|
|
<a target="_blank" href="http://www.pickplugins.com/demo/post-grid/sample-css-for-layout-editor/">Sample css</a><br />
|
|
<textarea class="custom_css" name="post_grid_layout_content['.$layout.']['.$unique_id.'][css]" item_id="'.$item_key.'" style="width:50%" spellcheck="false" autocapitalize="off" autocorrect="off">font-size:12px;display:block;padding:10px;</textarea><br /><br />
|
|
|
|
CSS Hover: <br />
|
|
<textarea class="custom_css" name="post_grid_layout_content['.$layout.']['.$unique_id.'][css_hover]" item_id="'.$item_key.'" style="width:50%" spellcheck="false" autocapitalize="off" autocorrect="off"></textarea>';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$html['options'].= '</div>';
|
|
$html['options'].= '</div>';
|
|
|
|
|
|
|
|
echo json_encode($html);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
die();
|
|
|
|
}
|
|
|
|
add_action('wp_ajax_post_grid_layout_add_elements', 'post_grid_layout_add_elements');
|
|
|
|
|
|
|
|
function post_grid_get_categories($post_id){
|
|
|
|
if(current_user_can('manage_options')){
|
|
|
|
if(isset($_POST['post_types'])){
|
|
|
|
//var_dump($_POST['post_types']);
|
|
|
|
$post_types = stripslashes_deep($_POST['post_types']);
|
|
//var_dump($post_types);
|
|
|
|
$post_id = sanitize_text_field($_POST['post_id']);
|
|
$post_grid_meta_options = get_post_meta( $post_id, 'post_grid_meta_options', true );
|
|
//$categories = $post_grid_meta_options['categories'];
|
|
|
|
if(!empty($post_grid_meta_options['categories'])){
|
|
$categories = $post_grid_meta_options['categories'];
|
|
}
|
|
else{
|
|
$categories = array();
|
|
}
|
|
|
|
|
|
|
|
}
|
|
else{
|
|
$post_grid_meta_options = get_post_meta( $post_id, 'post_grid_meta_options', true );
|
|
|
|
if(!empty($post_grid_meta_options['post_types'])){
|
|
$post_types = $post_grid_meta_options['post_types'];
|
|
}
|
|
else{
|
|
$post_types = array();
|
|
}
|
|
|
|
//$post_types = $post_grid_meta_options['post_types'];
|
|
|
|
if(!empty($post_grid_meta_options['categories'])){
|
|
$categories = $post_grid_meta_options['categories'];
|
|
}
|
|
else{
|
|
$categories = array();
|
|
}
|
|
|
|
//$categories = $post_grid_meta_options['categories'];
|
|
|
|
|
|
}
|
|
|
|
|
|
if(isset($_POST['post_id'])){
|
|
$post_id = sanitize_text_field($_POST['post_id']);
|
|
}
|
|
|
|
|
|
$taxonomies = get_object_taxonomies( $post_types );
|
|
|
|
if(!empty($taxonomies)){
|
|
|
|
echo '<select class="categories" name="post_grid_meta_options[categories][]" multiple="multiple" size="10">';
|
|
|
|
foreach ($taxonomies as $taxonomy ) {
|
|
|
|
$the_taxonomy = get_taxonomy($taxonomy);
|
|
|
|
$args=array(
|
|
'orderby' => 'name',
|
|
'order' => 'ASC',
|
|
'taxonomy' => $taxonomy,
|
|
'hide_empty' => false,
|
|
);
|
|
|
|
$categories_all = get_categories($args);
|
|
|
|
if(!empty($categories_all)){
|
|
|
|
?>
|
|
<option disabled value="<?php echo $taxonomy; ?>" > - - - <?php echo $the_taxonomy->labels->name; ?> - - -</option>
|
|
|
|
<?php
|
|
foreach($categories_all as $category_info){
|
|
|
|
if(in_array($taxonomy.','.$category_info->cat_ID, $categories)){
|
|
$selected = 'selected';
|
|
}
|
|
else{
|
|
$selected = '';
|
|
}
|
|
|
|
?>
|
|
<option <?php echo $selected; ?> value="<?php echo $taxonomy.','.$category_info->cat_ID; ?>" ><?php echo $category_info->cat_name; echo ' (Total Post: '.$category_info->count.')'; ?></option>
|
|
<?php
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
echo '</select>';
|
|
|
|
}
|
|
else{
|
|
echo 'No categories found.';
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(isset($_POST['post_types'])){
|
|
die();
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
add_action('wp_ajax_post_grid_get_categories', 'post_grid_get_categories');
|
|
|
|
|
|
|
|
|
|
function post_grid_ajax_load_more(){
|
|
|
|
$html = '';
|
|
|
|
$post_id = sanitize_text_field($_POST['grid_id']);
|
|
$per_page = sanitize_text_field($_POST['per_page']);
|
|
$terms = sanitize_text_field($_POST['terms']);
|
|
|
|
|
|
include post_grid_plugin_dir.'/grid-items/variables.php';
|
|
|
|
$paged = sanitize_text_field($_POST['paged']);
|
|
|
|
include post_grid_plugin_dir.'/grid-items/query.php';
|
|
|
|
if ( $wp_query->have_posts() ) :
|
|
while ( $wp_query->have_posts() ) : $wp_query->the_post();
|
|
|
|
|
|
$html.='<div class="item skin '.$skin.' '.post_grid_term_slug_list(get_the_ID()).'">';
|
|
|
|
include post_grid_plugin_dir.'/grid-items/layer-media.php';
|
|
include post_grid_plugin_dir.'/grid-items/layer-content.php';
|
|
include post_grid_plugin_dir.'/grid-items/layer-hover.php';
|
|
|
|
$html.='</div>'; // .item
|
|
|
|
endwhile;
|
|
wp_reset_query();
|
|
else:
|
|
|
|
if($pagination_type=='load_more'){
|
|
$html.= '<script>
|
|
jQuery(document).ready(function($)
|
|
{
|
|
$("#post-grid-'.$post_id.' .load-more").html("'.__('No more post',post_grid_textdomain).'");
|
|
$("#post-grid-'.$post_id.' .load-more").addClass("no-post");
|
|
|
|
})
|
|
|
|
|
|
</script>';
|
|
}
|
|
|
|
|
|
|
|
|
|
endif;
|
|
|
|
echo $html;
|
|
|
|
die();
|
|
|
|
}
|
|
|
|
add_action('wp_ajax_post_grid_ajax_load_more', 'post_grid_ajax_load_more');
|
|
add_action('wp_ajax_nopriv_post_grid_ajax_load_more', 'post_grid_ajax_load_more');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function post_grid_ajax_search(){
|
|
|
|
$html = '';
|
|
$post_id = sanitize_text_field($_POST['grid_id']);
|
|
|
|
include post_grid_plugin_dir.'/grid-items/variables.php';
|
|
|
|
$keyword = sanitize_text_field($_POST['keyword']);
|
|
|
|
include post_grid_plugin_dir.'/grid-items/query.php';
|
|
|
|
if ( $wp_query->have_posts() ) :
|
|
while ( $wp_query->have_posts() ) : $wp_query->the_post();
|
|
|
|
|
|
$html.='<div class="item skin '.$skin.' '.post_grid_term_slug_list(get_the_ID()).'">';
|
|
|
|
include post_grid_plugin_dir.'/grid-items/layer-media.php';
|
|
include post_grid_plugin_dir.'/grid-items/layer-content.php';
|
|
include post_grid_plugin_dir.'/grid-items/layer-hover.php';
|
|
|
|
$html.='</div>'; // .item
|
|
|
|
endwhile;
|
|
wp_reset_query();
|
|
else:
|
|
|
|
$html.='<div class="item">';
|
|
$html.=__('No Post found',post_grid_textdomain); // .item
|
|
$html.='</div>'; // .item
|
|
|
|
endif;
|
|
|
|
echo $html;
|
|
|
|
die();
|
|
|
|
}
|
|
|
|
add_action('wp_ajax_post_grid_ajax_search', 'post_grid_ajax_search');
|
|
add_action('wp_ajax_nopriv_post_grid_ajax_search', 'post_grid_ajax_search');
|
|
|
|
|
|
|
|
|
|
function post_grid_export_content_layouts(){
|
|
|
|
|
|
if(current_user_can('manage_options')){
|
|
|
|
|
|
$upload_dir = wp_upload_dir();
|
|
$basedir = $upload_dir['basedir'];
|
|
$baseurl = $upload_dir['baseurl'];
|
|
$export_layout_content_dir = $basedir.'/post-grid';
|
|
|
|
if ( ! file_exists( $export_layout_content_dir ) ) {
|
|
wp_mkdir_p( $export_layout_content_dir );
|
|
}
|
|
|
|
$post_grid_layout_content = get_option('post_grid_layout_content');
|
|
$export_data = serialize($post_grid_layout_content);
|
|
|
|
|
|
$layout_content_file = fopen($export_layout_content_dir."/export-layout-content-".date('Y-m-d-h').'-'.time().".txt", "w");
|
|
|
|
|
|
fwrite($layout_content_file, $export_data);
|
|
|
|
$file_url = $baseurl."/post-grid/export-layout-content-".date('Y-m-d-h').'-'.time().".txt";
|
|
//$file_url = post_grid_plugin_url."export/export-layout-content-".date('Y-m-d-h').'-'.time().".txt";
|
|
|
|
echo $file_url;
|
|
|
|
fclose($layout_content_file);
|
|
|
|
}
|
|
|
|
|
|
die();
|
|
}
|
|
|
|
|
|
add_action('wp_ajax_post_grid_export_content_layouts', 'post_grid_export_content_layouts');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function post_grid_ajax_remove_export_content_layout(){
|
|
|
|
if(current_user_can('manage_options')){
|
|
|
|
$file_url = sanitize_text_field($_POST['file_url']);
|
|
|
|
unlink($file_url);
|
|
|
|
}
|
|
|
|
die();
|
|
}
|
|
|
|
|
|
add_action('wp_ajax_post_grid_ajax_remove_export_content_layout', 'post_grid_ajax_remove_export_content_layout');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function post_grid_share_plugin(){
|
|
|
|
?>
|
|
<iframe src="https://www.facebook.com/plugins/like.php?href=https%3A%2F%2Fwordpress.org%2Fplugins%2Fpost-grid%2F&width=450&layout=standard&action=like&show_faces=true&share=true&height=80&appId" width="450" height="80" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowTransparency="true"></iframe>
|
|
|
|
<br />
|
|
<!-- Place this tag in your head or just before your close body tag. -->
|
|
<script src="https://apis.google.com/js/platform.js" async defer></script>
|
|
|
|
<!-- Place this tag where you want the +1 button to render. -->
|
|
<div class="g-plusone" data-size="medium" data-annotation="inline" data-width="300" data-href="<?php echo post_grid_share_url; ?>"></div>
|
|
|
|
<br />
|
|
<br />
|
|
<a href="https://twitter.com/share" class="twitter-share-button" data-url="<?php echo post_grid_share_url; ?>" data-text="<?php echo post_grid_plugin_name; ?>" data-via="ParaTheme" data-hashtags="WordPress">Tweet</a>
|
|
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
|
|
|
|
|
|
|
|
<?php
|
|
|
|
|
|
}
|
|
|
|
|