# Series Grid WordPress Plugin

**Version:** 3.0.1  
**Author:** technodrome  
**License:** GPL2    

A powerful WordPress plugin that displays posts in responsive grid, list, or slider layouts with extensive customization options. This is a complete WordPress port of the popular Joomla mod_seriesgrid module.

## Features

### Layout Options
- **Grid Layout** - Responsive grid with 1-6 columns
- **List Layout** - Horizontal list with thumbnails
- **Slider Layout** - Horizontal scrolling carousel

### Content Control
- **Category filtering** - Display posts from specific categories
- **Featured posts only** - Show only featured posts
- **Post count** - Control number of posts to display (1-50)
- **Sort options** - By date (newest), title (A-Z), or random order
- **Excerpt control** - Customize excerpt length (10-200 words)

### Display Options
- **Show/hide elements** - Author, tags, category, publish date
- **Font sizes** - Small, medium, or large typography
- **Style variants** - Soft, sharp, or bordered appearance
- **Image height** - Custom height for list/slider layouts
- **Hover effects** - Show title or intro text on hover

### Image Handling
- **Fallback image** - Default image when posts have no featured image
- **Fallback color** - Background color for posts without images
- **Image extraction** - Extract first image from post content
- **Lazy loading** - Improve page load performance

### Advanced Features
- **Custom empty message** - Personalize "no posts found" message
- **Responsive design** - Mobile-first approach with breakpoints
- **WordPress standards** - Full compliance with WP coding standards
- **Clean markup** - Semantic HTML with proper accessibility

## Installation

1. Download the plugin ZIP file
2. Upload to `/wp-content/plugins/` directory
3. Extract the files
4. Activate the plugin through the 'Plugins' menu in WordPress
5. Configure settings under 'Series Grid' in the admin menu

## Usage

### Basic Shortcode
```
[series_grid]
```

### Advanced Shortcode Examples
```
[series_grid layout="grid" columns="4" count="12"]
[series_grid layout="list" categories="1,2,3" featured_only="yes"]
[series_grid layout="slider" sort_order="random" font_size="large"]
```

### Shortcode Parameters

| Parameter | Options | Default | Description |
|-----------|---------|---------|-------------|
| `layout` | grid, list, slider | grid | Display layout |
| `columns` | 1-6 | 3 | Columns for grid layout |
| `count` | 1-50 | 6 | Number of posts |
| `categories` | 1,2,3 | all | Category IDs (comma-separated) |
| `featured_only` | yes, no | no | Show only featured posts |
| `sort_order` | created_desc, title_asc, random | created_desc | Post sorting |
| `excerpt` | 10-200 | 30 | Excerpt word count |
| `font_size` | small, medium, large | medium | Typography size |
| `style` | soft, sharp, bordered | soft | Visual style |
| `image_height` | 100-500 | 180 | Image height in pixels |
| `show_author` | yes, no | yes | Display author |
| `show_tags` | yes, no | yes | Display tags |
| `show_category` | yes, no | no | Display category |
| `show_date` | yes, no | no | Display publish date |
| `show_introtext` | yes, no | yes | Display the intro text |
| `fallback_image` | URL | - | Default image URL |
| `fallback_color` | #hex | #eeeeee | Background color |
| `extract_images` | yes, no | yes | Extract from content |
| `hover_title` | yes, no | no | Show title on hover |
| `hover_introtext` | yes, no | no | (PRO Grid Only) Show intro on hover with animation |
| `lazy_load` | yes, no | yes | Lazy load images |
| `empty_message` | text | No posts found. | Custom empty message |

## Admin Panel

The plugin includes a comprehensive admin panel with three sections:

### Basic Settings
- Layout selection
- Post count and columns
- Category filtering
- Featured posts toggle
- Sort order options

### Display Options
- Typography controls
- Style variants
- Element visibility toggles
- Image height settings

### Advanced Options
- Fallback image/color settings
- Image extraction options
- Hover effects
- Performance settings
- Custom messages

## CSS Customization

The plugin includes comprehensive CSS that can be customized. Key classes:

```css
.series-grid              /* Main grid container */
.series-grid-item         /* Individual post item */
.series-grid-title        /* Post title */
.series-grid-intro        /* Post excerpt */
.series-grid-list         /* List layout container */
.series-grid-slider       /* Slider layout container */
```

### Font Size Classes
```css
.font-small               /* Small typography */
.font-medium              /* Medium typography */
.font-large               /* Large typography */
```

### Style Variants
```css
.style-soft               /* Soft appearance */
.style-sharp              /* Sharp edges */
.style-bordered           /* Bordered items */
```

## Featured Posts

To mark posts as featured, add a custom field:
- **Key:** `_featured_post`
- **Value:** `1`

Or use a plugin like "Featured Post" to manage featured content.

## Browser Support

- Chrome 60+
- Firefox 55+
- Safari 12+
- Edge 79+
- Mobile browsers (iOS Safari, Chrome Mobile)

## Changelog

See [CHANGELOG.txt](CHANGELOG.txt) for detailed version history.

## Support

For support, bug reports, or feature requests, please contact technodrome.

## License

This plugin is licensed under GPL2. You are free to use, modify, and distribute it according to the GPL2 license terms.