Business Client need Web Development
Contact person: Business Client
Phone:Show
Email:Show
Location: Piraeus, Greece
Budget: Recommended by industry experts
Time to start: As soon as possible
Project description:
"1. Project Overview
Plugin Name: (Suggested) Auto-Post Publisher (Newsletter & Viber)
Objective: To create a WordPress plugin that allows administrators to schedule the automatic sending of the 'n' latest posts from a specific category or tag to a Viber Channel and a Newsletter list (via SendGrid).
2. Core Functionality
The plugin will execute the following two main actions based on a schedule:
A. Cron Job Function (Scheduling)
The plugin will use WP-Cron (WordPress's built-in scheduling system) to regularly check (e.g., every hour) if there is a scheduled task to run.
It will register up to 7 different sending profiles (slots).
When the current time and day match an enabled sending profile, the plugin will trigger the content retrieval and sending functions.
B. Post Collection & Sending
For each enabled sending profile that is executed:
Post Query: The plugin will execute a WP_Query on the database to retrieve the 'n' most recent published posts (post type: 'post') that match the selected Category or Tag.
Data Formatting: It will collect (for each post):
Title (Post Title)
Permanent Link (Permalink)
Featured Image URL
(Optional) Short Description (Excerpt)
Execute Send (Newsletter): If the Newsletter sending is active for this profile, it will send the data to the SendGrid API.
Execute Send (Viber): If the Viber sending is active for this profile, it will send the data to the Viber API.
3. Admin Interface
A new settings page will be created in the WordPress admin menu (e.g., "Settings" > "Auto-Post Publisher"). This page will include two main tabs:
Tab 1: API Settings (API Keys)
This tab will contain the fields for connecting to third-party services:
SendGrid Settings:
SendGrid API Key (Text field, password type)
Sender Email
Sender Name (Text field, e.g., "Our News")
SendGrid List ID (Text field - The ID of the contact list in SendGrid where the campaign will be sent)
Viber Settings:
Viber API Authentication Token (Text field, password type)
Viber Channel ID / Sender Name (Text field - The identifier of the channel/bot that will send the message)
Tab 2: Sending Schedule
This tab will contain 7 distinct "slots" (profiles) for sending. Each slot will have the following settings:
Sending Profile [1-7]
Enable Profile (Checkbox - "Run this schedule?")
When:
Day of Sending (Dropdown: Monday, Tuesday, ..., Sunday)
Time of Sending (Dropdown: 00:00, 01:00, ..., 23:00)
What (Content):
Content Source (Dropdown: "Category" or "Tag")
Select Category/Tag (A dynamic field that, depending on the above selection, will display a dropdown with all available categories or tags of the site)
Number of Posts (Number input, e.g., "5" - for the 'n' latest posts)
Where (Channels):
Send Newsletter (SendGrid) (Checkbox)
Send to Viber Channel (Checkbox)
4. Technical Implementation Details
A. Data Storage
All settings (API keys and the 7 sending profiles) will be stored in the wp_options table, using the WordPress Settings API for security and standardization.
B. Cron Job Logic
Upon plugin activation, a custom WP-Cron event will be scheduled (e.g., hourly or daily).
The function called by the cron will retrieve all sending profiles.
It will check the enabled profiles and compare the current day/time (in server time or WordPress time) with the saved time/day of the profile.
To avoid duplicate sends, the plugin must store (e.g., in transients or post_meta) the timestamp of the last execution for each profile.
C. API Communication
All calls to external APIs (SendGrid, Viber) must be made "server-side" using WordPress's wp_remote_post() or wp_remote_get() functions.
SendGrid: The call will target the /v3/mail/send endpoint. The body of the call will contain the email HTML (which will be generated dynamically, e.g., a <ul> list with the posts) and the List ID.
Viber: The call will target the /pa/post endpoint. The body of the call will contain the messages.
Note: To send 'n' posts, it may be preferable to send 'n' separate messages (e.g., "Post Title" + "Link" + "Featured Image") rather than one large "carousel" message, which is more complex. This should be clarified based on the capabilities of the specific Viber API being used.
D. Security
All settings saved must be sanitized.
All data displayed in the admin panel must be escaped.
API keys must never be exposed on the client-side (frontend).
5. Deliverables
A .zip file containing the ready-to-install WordPress plugin.
The plugin must adhere to WordPress Coding Standards.
Basic documentation ([login to view URL] file) explaining how to use the settings page." (client-provided description)
Matched companies (6)

TechGigs LLP

Conchakra Technologies Pvt Ltd

Codetreasure Co

Knowforth Tech

Breeze Website Designers
