77
88GitHub to WordPress Sync: Streamline theme & plugin updates directly from GitHub. Easy, secure, and developer-friendly.
99
10+ <img width =" 1387 " height =" 950 " alt =" image " src =" https://github.com/user-attachments/assets/938fa78b-b7ff-4216-beeb-79d866113d38 " />
1011
1112
1213## Features
@@ -19,114 +20,3 @@ GitHub to WordPress Sync: Streamline theme & plugin updates directly from GitHub
1920- 💾 ** Automatic Backups** - Creates backups before syncing
2021- 📊 ** Commit Tracking** - View latest commit information
2122- ⚙️ ** Settings Page** - Clean admin interface under Settings menu
22-
23- ## Installation
24-
25- 1 . Download or clone this repository
26- 2 . Upload the ` github-to-wordpress-sync ` folder to ` /wp-content/plugins/ `
27- 3 . Activate the plugin through the 'Plugins' menu in WordPress
28- 4 . Navigate to ** Settings > Github Sync** to configure
29-
30- ## Usage
31-
32- ### Adding a New Project
33-
34- 1 . Go to ** Settings > Github Sync** in your WordPress admin
35- 2 . Enter your GitHub repository URL (e.g., ` https://github.com/username/repository-name ` )
36- 3 . Select the project type (Theme or Plugin)
37- 4 . Enter the folder name as it should appear in ` wp-content/themes ` or ` wp-content/plugins `
38- 5 . Choose the branch to sync (default is "main")
39- 6 . Click ** Add Project**
40-
41- ### Syncing a Project
42-
43- 1 . Click ** Check Update** to see if there are new commits
44- 2 . If updates are available, click ** Sync Now**
45- 3 . Confirm the sync action
46- 4 . The plugin will download and update your theme/plugin automatically
47-
48- ### Managing Projects
49-
50- - ** Check Update** : See if there are new commits on GitHub
51- - ** Sync Now** : Download and sync the latest version
52- - ** Delete** : Remove the project from the sync list (doesn't delete files)
53-
54- ## Example
55-
56- For syncing the theme: ` https://github.com/sinanisler/snn-brx-child-theme `
57-
58- 1 . ** GitHub URL** : ` https://github.com/sinanisler/snn-brx-child-theme `
59- 2 . ** Project Type** : Theme
60- 3 . ** Project Name** : ` snn-brx-child-theme `
61- 4 . ** Branch** : ` main `
62-
63- ## Requirements
64-
65- - WordPress 5.0 or higher
66- - PHP 7.2 or higher
67- - Write permissions on ` wp-content/themes ` and ` wp-content/plugins ` directories
68-
69- ## File Structure
70-
71- ```
72- github-to-wordpress-sync/
73- ├── github-to-wordpress-sync.php # Main plugin file
74- ├── assets/
75- │ ├── css/
76- │ │ └── admin.css # Admin styles
77- │ └── js/
78- │ └── admin.js # Admin JavaScript
79- ├── includes/
80- │ ├── admin-page.php # Settings page template
81- │ ├── class-github-api.php # GitHub API integration
82- │ └── class-sync-manager.php # Sync functionality
83- └── README.md # Documentation
84- ```
85-
86- ## How It Works
87-
88- 1 . ** GitHub API** : Fetches repository information, branches, and commit data
89- 2 . ** Download** : Downloads the repository as a ZIP file from GitHub
90- 3 . ** Backup** : Creates a timestamped backup of existing files
91- 4 . ** Extract** : Extracts the ZIP file to a temporary location
92- 5 . ** Sync** : Copies files from temporary location to target directory
93- 6 . ** Cleanup** : Removes temporary files
94-
95- ## Security
96-
97- - All AJAX requests are nonce-protected
98- - User capability checks (requires ` manage_options ` )
99- - Input sanitization and validation
100- - Safe file operations with WordPress filesystem API
101-
102- ## Limitations
103-
104- - Public repositories work without authentication
105- - For private repositories, GitHub API rate limits apply
106- - Large repositories may take longer to download
107-
108- ## Support
109-
110- For issues, questions, or contributions, please visit:
111- [ GitHub Repository] ( https://github.com/sinanisler/github-to-wordpress-sync )
112-
113- ## License
114-
115- GPL v2 or later
116-
117- ## Author
118-
119- ** Sinan Isler**
120- - GitHub: [ @sinanisler ] ( https://github.com/sinanisler )
121-
122- ## Changelog
123-
124- ### Version 1.0.0
125- - Initial release
126- - Add/delete GitHub projects
127- - Check for updates
128- - One-click sync
129- - Branch selection
130- - Automatic backups
131- - Commit tracking
132- - Settings page under Settings menu
0 commit comments