Hooks - PHP
# Hooks - PHP
Below you'll find a list of all available PHP hooks that can be used to extend or adjust the functionality of the plugin.
## conditions
This filter allows adding custom conditions to locations.
```php
add_filter('sleekPixel/conditions', function ($data) {
$data[] = [
'id' => 'isCustomUrl',
'label' => 'Custom URL Check',
'value' => str_contains($_SERVER['REQUEST_URI'], '?customParam'),
];
return $data;
});
```
## data
This filter allows modifying the data before it's used to generate the image.
```php
add_filter('sleekPixel/data', function($data, $args) {
$imageId = $args['id'] ?? 0;
// Modify post title for a specific image
if ($imageId === 123) {
$data['post']['title'] = 'New Post Title';
}
return $data;
}, 10, 2);
```
## data/custom
This filter allows registering custom data which can be chosen inside the editor.
```php
add_filter(
"sleekPixel/data/custom", function ($data, $args) {
$postId = $args["postId"];
// Add custom data entry 1
$data[] = [
"value" => "customData1",
"label" => "Custom data",
"data" => get_field('my_field', $postId),
];
// Add custom data entry 2
$data[] = [
"value" => "customData2",
"label" => "Custom data 2",
"data" => "My custom title #2",
];
return $data;
}, 10, 2 );
```
## image/element/data
This filter allows modifying the data of individual elements within a SleekPixel image.
```php
add_filter('sleekPixel/image/element/data', function($elementData, $image) {
// Check if this is the specific image we want to modify
if ($image['id'] === 123) {
// Loop through the styles of each element
foreach ($elementData['styles'] as &$style) {
// Check if the element has a 'color' key
if (isset($style['color'])) {
// Set the color to a primary color
$style['color'] = '#007bff'; // Example primary blue color
}
}
}
return $elementData;
}, 10, 2);
```
Below you'll find a list of all available PHP hooks that can be used to extend or adjust the functionality of the plugin.
conditions
This filter allows adding custom conditions to locations.
add_filter('sleekPixel/conditions', function ($data) {
$data[] = [
'id' => 'isCustomUrl',
'label' => 'Custom URL Check',
'value' => str_contains($_SERVER['REQUEST_URI'], '?customParam'),
];
return $data;
});
Copy
add_filter('sleekPixel/conditions', function ($data) {
$data[] = [
'id' => 'isCustomUrl',
'label' => 'Custom URL Check',
'value' => str_contains($_SERVER['REQUEST_URI'], '?customParam'),
];
return $data;
});
data
This filter allows modifying the data before it's used to generate the image.
add_filter('sleekPixel/data', function($data, $args) {
$imageId = $args['id'] ?? 0;
// Modify post title for a specific image
if ($imageId === 123) {
$data['post']['title'] = 'New Post Title';
}
return $data;
}, 10, 2);
Copy
add_filter('sleekPixel/data', function($data, $args) {
$imageId = $args['id'] ?? 0;
// Modify post title for a specific image
if ($imageId === 123) {
$data['post']['title'] = 'New Post Title';
}
return $data;
}, 10, 2);
data/custom
This filter allows registering custom data which can be chosen inside the editor.
add_filter(
"sleekPixel/data/custom", function ($data, $args) {
$postId = $args["postId"];
// Add custom data entry 1
$data[] = [
"value" => "customData1",
"label" => "Custom data",
"data" => get_field('my_field', $postId),
];
// Add custom data entry 2
$data[] = [
"value" => "customData2",
"label" => "Custom data 2",
"data" => "My custom title #2",
];
return $data;
}, 10, 2 );
Copy
add_filter(
"sleekPixel/data/custom", function ($data, $args) {
$postId = $args["postId"];
// Add custom data entry 1
$data[] = [
"value" => "customData1",
"label" => "Custom data",
"data" => get_field('my_field', $postId),
];
// Add custom data entry 2
$data[] = [
"value" => "customData2",
"label" => "Custom data 2",
"data" => "My custom title #2",
];
return $data;
}, 10, 2 );
image/element/data
This filter allows modifying the data of individual elements within a SleekPixel image.
add_filter('sleekPixel/image/element/data', function($elementData, $image) {
// Check if this is the specific image we want to modify
if ($image['id'] === 123) {
// Loop through the styles of each element
foreach ($elementData['styles'] as &$style) {
// Check if the element has a 'color' key
if (isset($style['color'])) {
// Set the color to a primary color
$style['color'] = '#007bff'; // Example primary blue color
}
}
}
return $elementData;
}, 10, 2);
Copy
add_filter('sleekPixel/image/element/data', function($elementData, $image) {
// Check if this is the specific image we want to modify
if ($image['id'] === 123) {
// Loop through the styles of each element
foreach ($elementData['styles'] as &$style) {
// Check if the element has a 'color' key
if (isset($style['color'])) {
// Set the color to a primary color
$style['color'] = '#007bff'; // Example primary blue color
}
}
}
return $elementData;
}, 10, 2);