1. WordPress: Fixing Broken Permalinks
WordPress can sometimes experience issues with its permalink structure. Here’s how to programmatically regenerate the permalinks to fix these issues.
<?php
// Regenerate permalinks
function regenerate_permalinks() {
// Flush rewrite rules to refresh permalinks
flush_rewrite_rules();
}
add_action('init', 'regenerate_permalinks');
This function will regenerate permalinks and flush the rewrite rules on WordPress initialization.
2. WordPress: Disable the WordPress Admin Bar for Non-Admins
By default, WordPress shows the admin bar at the top of the site for logged-in users. If you want to hide it for all users except administrators, use this code in the functions.php file:
<?php
function remove_admin_bar_for_non_admins() {
if (!current_user_can('administrator')) {
add_filter('show_admin_bar', '__return_false');
}
}
add_action('wp', 'remove_admin_bar_for_non_admins');
3. Laravel: Fixing Route Caching Issues
Sometimes, caching in Laravel might break routes or cause unexpected behavior. Here’s how you can clear the route cache and prevent caching issues:
# Clear the route cache
php artisan route:clear
# Re-cache the routes for better performance
php artisan route:cache
You can run these commands in your terminal to ensure your routes are always up-to-date and cached for optimal performance.
4. Laravel: Implementing Middleware for Authentication
In Laravel, middleware is a great way to handle authentication and authorization checks. Here’s a sample middleware that checks if a user is authenticated:
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\Auth;
class EnsureUserIsAuthenticated
{
public function handle($request, Closure $next)
{
if (Auth::check()) {
return $next($request);
}
return redirect()->route('login');
}
}
This middleware checks whether a user is authenticated, and if not, redirects them to the login page.
5. CMS (Custom): Creating a Simple CMS Page with PHP
If you’re building a simple CMS from scratch, here’s a basic code example that saves and retrieves content dynamically from a MySQL database. This could be part of a larger CMS system.
Database Table pages:
CREATE TABLE `pages` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(255) NOT NULL,
`content` text NOT NULL,
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
);
PHP Code for Saving Content:
<?php
// Connect to the database
$pdo = new PDO('mysql:host=localhost;dbname=your_db', 'username', 'password');
// Check if form is submitted
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$title = $_POST['title'];
$content = $_POST['content'];
$stmt = $pdo->prepare("INSERT INTO pages (title, content) VALUES (:title, :content)");
$stmt->execute(['title' => $title, 'content' => $content]);
echo "Page saved successfully!";
}
?>
<form method="POST">
<label for="title">Page Title</label>
<input type="text" name="title" id="title" required>
<label for="content">Page Content</label>
<textarea name="content" id="content" required></textarea>
<button type="submit">Save Page</button>
</form>
PHP Code for Displaying Content:
<?php
// Fetch page content from the database
$stmt = $pdo->query("SELECT * FROM pages WHERE id = 1");
$page = $stmt->fetch(PDO::FETCH_ASSOC);
echo "<h1>" . htmlspecialchars($page['title']) . "</h1>";
echo "<div>" . nl2br(htmlspecialchars($page['content'])) . "</div>";
This CMS example demonstrates how to insert and display dynamic pages from a MySQL database. You can expand this to include multiple pages, editing options, and a user interface.
6. WordPress: Custom Shortcode to Display Recent Posts
You can create a custom shortcode to display recent posts in WordPress:
<?php
function display_recent_posts($atts) {
$atts = shortcode_atts(
array(
'number' => 5,
),
$atts,
'recent_posts'
);
$query = new WP_Query(array(
'posts_per_page' => $atts['number'],
'post_status' => 'publish',
));
$output = '<ul>';
while ($query->have_posts()) {
$query->the_post();
$output .= '<li><a href="' . get_permalink() . '">' . get_the_title() . '</a></li>';
}
$output .= '</ul>';
wp_reset_postdata();
return $output;
}
add_shortcode('recent_posts', 'display_recent_posts');
Now, you can use the shortcode [recent_posts number="5"] in any post or page to display the 5 most recent posts.
7. Laravel: Pagination with Eloquent
Laravel’s Eloquent ORM offers a simple way to paginate results. Here’s an example of how to paginate data in Laravel:
<?php
// In your controller
use App\Models\Post;
public function index()
{
$posts = Post::paginate(10); // Display 10 posts per page
return view('posts.index', compact('posts'));
}
And in your Blade view (posts/index.blade.php):
@foreach ($posts as $post)
<h2>{{ $post->title }}</h2>
<p>{{ $post->content }}</p>
@endforeach
{{ $posts->links() }} <!-- Pagination links -->
8. CMS: Simple Contact Form Handling with PHP
Here’s a basic contact form handler using PHP:
HTML Form:
<form method="POST" action="send_contact.php">
<input type="text" name="name" placeholder="Your Name" required>
<input type="email" name="email" placeholder="Your Email" required>
<textarea name="message" placeholder="Your Message" required></textarea>
<button type="submit">Send Message</button>
</form>
PHP Handler (send_contact.php):
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$to = "[email protected]";
$subject = "Contact Form Submission";
$body = "Name: $name\nEmail: $email\nMessage: $message";
if (mail($to, $subject, $body)) {
echo "Thank you for your message!";
} else {
echo "Sorry, there was an error sending your message.";
}
}
?>


