<?php
/**
 * Organico Fruit Trees - internal link addition for growing/avocado-pinkerton
 * Adds a link to the avocado-pinkerton growing page into the existing
 * cultivar cross-link sentence on the growing/avocado hub page (post ID 3446).
 * This edits rendered the_content via str_replace, not a Yoast field - if the
 * hub page's cultivar-links sentence wording changes (wp-admin edit or the
 * related-posts plugin recompute), this filter becomes a silent no-op since
 * it only replaces the exact original sentence.
 */

add_filter('the_content', function ($content) {
    if (get_queried_object_id() !== 3446) {
        return $content;
    }

    $find = "\u{05D0}\u{05D8}\u{05D9}\u{05E0}\u{05D2}\u{05E8}</a> \u{05D5}<a href=\"https://www.organi-co.co.il/growing/reed-avocado\">\u{05D0}\u{05D1}\u{05D5}\u{05E7}\u{05D3}\u{05D5} \u{05E8}\u{05D9}\u{05D3}</a>.";
    $replace = "\u{05D0}\u{05D8}\u{05D9}\u{05E0}\u{05D2}\u{05E8}</a>, <a href=\"https://www.organi-co.co.il/growing/reed-avocado\">\u{05D0}\u{05D1}\u{05D5}\u{05E7}\u{05D3}\u{05D5} \u{05E8}\u{05D9}\u{05D3}</a> \u{05D5}<a href=\"https://www.organi-co.co.il/growing/avocado-pinkerton\">\u{05D0}\u{05D1}\u{05D5}\u{05E7}\u{05D3}\u{05D5} \u{05E4}\u{05D9}\u{05E0}\u{05E7}\u{05E8}\u{05D8}\u{05D5}\u{05DF}</a>.";

    if (strpos($content, $find) !== false) {
        $content = str_replace($find, $replace, $content);
    }

    return $content;
}, PHP_INT_MAX);
