Punjab Police Sub Inspector Jobs 2025 (BS-14) announced by PPSC under Advertisement No.36/2025. Over 300 vacancies available across Punjab regions. Apply by 02 October 2025 if you have a Bachelor’s degree, meet the age and physical standards, and want a career in law enforcement.
The Punjab Public Service Commission (PPSC) has announced new Sub Inspector (BS-14) jobs in the Punjab Police Department under Advertisement No.36/2025. These are government jobs for both male and female candidates across multiple regions in Punjab.
If you have a Bachelor’s degree with at least second division, and meet the physical and age requirements, you can apply. These jobs offer a strong career in law enforcement, public safety, and police services.
Job Overview: Punjab Police Sub Inspector Jobs 2025
| Detail | Information | 
|---|---|
| Department | Punjab Police | 
| Recruiting Body | Punjab Public Service Commission (PPSC) | 
| Post Name | Sub Inspector (BS-14) | 
| Total Vacancies | 300+ | 
| Posting Regions | Lahore, Sheikhupura, Gujranwala, Rawalpindi, Sargodha, Faisalabad, Sahiwal, Multan, Bahawalpur, Dera Ghazi Khan | 
| Education Requirement | Graduation (Minimum Second Division) | 
| Last Date to Apply | 02 October 2025 | 
Education Requirement : Punjab Police Sub Inspector Jobs 2025
To apply for Punjab Police Sub Inspector jobs, candidates must have completed a Bachelor’s degree in any discipline with at least a second division. No additional diploma or certification is required.
Also Apply: FGEI Teaching Jobs 2025 – 207 New Seats Announced
Age Limit : Punjab Police Sub Inspector Jobs 2025
| Gender | Age Requirement | 
|---|---|
| Male | 20 to 25 years | 
| Female | 20 to 25 years | 

Physical Standards
| Criteria | Male Requirement | Female Requirement | 
|---|---|---|
| Height | 5 feet 7 inches | 5 feet 2 inches | 
| Chest (Male only) | 33 to 34.5 inches | — | 
| Vision | 6/6 without glasses | 6/6 without glasses | 
Selection Process
// ✅ Automatically insert random "Also Read" sections into content
function ehtsham_insert_random_also_read_sections($content) {
    if (!is_single() || !in_the_loop() || !is_main_query()) {
        return $content;
    }
    // ✅ Number of "Also Read" sections to insert (Change this value as needed)
    $num_sections = 3;
    // ✅ Get random posts
    $random_posts = get_posts(array(
        'post_type' => 'post',
        'posts_per_page' => $num_sections,
        'post__not_in' => array(get_the_ID()),
        'orderby' => 'rand'
    ));
    if (empty($random_posts)) return $content;
    // ✅ Split content into paragraphs
    $paragraphs = explode('</p>', $content);
    $total_paragraphs = count($paragraphs);
    
    // ✅ Only proceed if we have enough paragraphs
    if ($total_paragraphs < 6) return $content;
    // ✅ Calculate positions more evenly distributed throughout content
    $distribution_points = array();
    $step = floor($total_paragraphs / ($num_sections + 1));
    
    for ($i = 1; $i <= $num_sections; $i++) {
        $position = $step * $i;
        // Add some randomness but keep distribution
        $random_offset = rand(-2, 2);
        $final_position = max(1, min($total_paragraphs - 2, $position + $random_offset));
        $distribution_points[] = $final_position;
    }
    
    // Remove duplicates and sort
    $insert_indexes = array_unique($distribution_points);
    sort($insert_indexes);
    // ✅ Generate the Also Read blocks
    $i = 0;
    foreach ($insert_indexes as $index) {
        if (!isset($random_posts[$i])) break;
        $post = $random_posts[$i];
        // ✅ Build the HTML block
        $also_read_html = '<div class="custom-also-read-box">';
        $also_read_html .= '<span class="also-read-label">Also Read</span>';
        $also_read_html .= '<a class="also-read-link" href="' . get_permalink($post->ID) . '">';
        $also_read_html .= get_the_post_thumbnail($post->ID, 'thumbnail', array('class' => 'also-thumb'));
        $also_read_html .= '<div class="also-title">' . esc_html(get_the_title($post->ID)) . '</div>';
        $also_read_html .= '</a></div>';
        // ✅ Inject into content
        if (isset($paragraphs[$index])) {
            $paragraphs[$index] .= $also_read_html;
        } else {
            $paragraphs[] = $also_read_html;
        }
        $i++;
    }
    // ✅ Add CSS only once
    if (!defined('EHTSHAM_ALSO_READ_STYLE')) {
        define('EHTSHAM_ALSO_READ_STYLE', true);
        add_action('wp_footer', function () {
            ?>
            <style>
                .custom-also-read-box {
                    position: relative;
                    display: flex;
                    align-items: center;
                    gap: 10px;
                    border: 1px dashed #003D06;
                    background-color: #f7fbe4;
                    padding: 10px;
                    border-radius: 6px;
                    margin: 30px 0;
                }
                .custom-also-read-box .also-read-label {
                    position: absolute;
                    top: -10px;
                    left: 10px;
                    background-color: #003D06;
                    color: #fff;
                    font-size: 11px;
                    padding: 4px 10px;
                    border-radius: 20px;
                    font-weight: bold;
                    z-index: 2;
                }
                .custom-also-read-box .also-thumb {
                    width: 80px;
                    height: 80px;
                    object-fit: contain;
                    border-radius: 5px;
                    background-color: #f0f0f0;
                }
                .custom-also-read-box .also-title {
                    font-size: 15px;
                    font-weight: 600;
                    color: #003D06;
                }
                .custom-also-read-box a.also-read-link {
                    text-decoration: none;
                    color: inherit;
                    display: flex;
                    align-items: center;
                    gap: 10px;
                    flex: 1;
                }
                @media (max-width: 768px) {
                    .custom-also-read-box {
                        padding: 8px;
                        margin: 20px 0;
                        gap: 8px;
                    }
                    .custom-also-read-box .also-read-label {
                        font-size: 10px;
                        padding: 3px 8px;
                        top: -8px;
                        left: 8px;
                    }
                    .custom-also-read-box .also-thumb {
                        width: 60px;
                        height: 60px;
                        object-fit: contain;
                    }
                    .custom-also-read-box .also-title {
                        font-size: 14px;
                        line-height: 1.3;
                    }
                    .custom-also-read-box a.also-read-link {
                        gap: 8px;
                    }
                }
            </style>
            <?php
        });
    }
    // ✅ Return modified content
    return implode('</p>', $paragraphs);
}
add_filter('the_content', 'ehtsham_insert_random_also_read_sections');
Candidates will go through:
- Written Test
- Physical Test
- Interview
Only those who meet all eligibility criteria will be shortlisted for final selection.
Apply Now : Punjab Police Sub Inspector Jobs 2025






1 thought on “Punjab Police Sub Inspector Jobs 2025 (BS-14) – PPSC Advertisement No.36/2025”