0

I have a php code as shown below in which I have added Line#A for the debugging purpose.

<div class="vidlist-main__meta cf">
    <?php

    //if ( has_excerpt() ) {the_excerpt();}
    $tags = get_the_tags( get_the_ID() );
    $cats = wp_get_post_categories( get_the_ID() );                // Line#Z
    echo '<pre>'; print_r($cats); echo '</pre>';                  // Line#A
    if ( $tags || $cats  ) : ?>    // Line#B
        <span class="archive-links">
            <?php
            \CPAC\Episodes\generate_markup_for_categories( $cats );    // Line#C
            \CPAC\Episodes\generate_markup_for_tags( $tags );          // Line#D
            ?>
        </span>
    <?php endif;?>
</div>

On adding Line#A, I get the following o/p at different cases:

Case A:

Array
(
    [0] => 13085
    [1] => 13093
)

Case B:

Array
(
    [0] => 1
    [1] => 13087
)

Case C:

Array
(
    [0] => 1
    [1] => 13085
)

Problem Statement:

I am wondering what code I need to add after Line#Z or at Line#Z so that Line#Z takes only [1]=>13093.

  • Why don't you do something like if ( ! in_array( 13093, $cats ) ) instead? – Sally CJ Mar 20 at 22:55
  • @SallyCJ Can you give me more pointer ? – john Mar 20 at 22:57
  • I deleted my answer because it just seemed so funny.. lol. But if you've got the solution, do post it, even if you actually used array_filter() or another (PHP/WordPress) function. Cheers! – Sally CJ Mar 21 at 23:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.