Skip to content

Instantly share code, notes, and snippets.

View mlbd's full-sized avatar
🏠
Working from home

Mohammad Limon mlbd

🏠
Working from home
View GitHub Profile
/**
* Change Elementor Editor "Submit" Button Text for Non-Publish Users
*
* Replaces the "Submit" button label with "Send for Review" in the Elementor editor UI
* for users who lack the 'publish' capability. Useful for Contributor roles or
* custom workflow permissions.
*
* Add to your theme's functions.php or as a small plugin.
*
* @author OpenAI ChatGPT (2025)
/**
* Action hook triggered when a user submits a post/page to workflow or completes a step.
*
* Updates the due date of the action history record to the global default due date set in
* the Workflow Settings tab, if the default due date is set.
*
* @param int $post_id The ID of the post/page being submitted.
* @param int $action_history_id The ID of the action history record being updated.
*/
function custom_modify_due_date_on_submit($post_id, $action_history_id) {
/**
* Enable support for post tags on pages.
*/
function owf_add_tags_to_pages() {
register_taxonomy_for_object_type( 'post_tag', 'page' );
}
add_action( 'init', 'owf_add_tags_to_pages' );
// Add action to both front-end and admin to conditionally hide the Beaver Builder publish button.
add_action( 'admin_head', 'owf_hide_bb_publish_button' );
@mlbd
mlbd / Hide the publish button in Beaver Builder based on the user's role.
Created July 11, 2025 06:15
Hide the publish button in the Beaver Builder editor for users who do not have the ow_sign_off_step capability. Users who have the ow_sign_off_step capability should still be able to see the publish button.
add_action('admin_head', 'hide_bb_publish_button');
add_action('wp_head', 'hide_bb_publish_button');
function hide_bb_publish_button() {
if (!current_user_can('ow_sign_off_step')) {
echo '<style>
.fl-builder-actions .fl-builder-button.fl-builder-publish-button,
.fl-builder-button-group span.fl-builder-button[data-action="publish"] {
display: none;
}
/**
* Validate the editorial checklist condition.
*
* @param array $validation_result The validation result array passed by the filter.
* @param array $workflow_action_params The workflow action parameters array passed by the filter.
*
* @return array The validation result array with the error message and type.
*/
function owf_ediotrial_checklist_validate_condition( $validation_result, $workflow_action_params ) {
/**
* Filter to modify the 'oasiswf_placeholders' site option after it's retrieved.
* This ensures that our custom placeholder (%post_id%) is always available
* alongside the existing ones.
*
* @param array $value The existing array of placeholders.
* @return array Modified array with the additional %post_id% placeholder.
*/
add_filter( 'site_option_oasiswf_placeholders', 'modify_existing_oasiswf_placeholders' );
<?php
// Function to generate a random encryption key
function generateEncryptionKey($length = 32)
{
return bin2hex(random_bytes($length));
}
// Function to encrypt credit card information
function encryptCreditCard($creditCardNumber, $encryptionKey)
/**
* Get shipping info by using chosen method from cart
*
* @param string $type
* @return string
*/
function ml_get_shipping_data($type = '') {
$current_shipping_method = WC()->session->get( 'chosen_shipping_methods' );
if( ! is_array($current_shipping_method) ) {
return '';