В PHP текстовые строки объединяются с использованием символа точки. Поэтому, если вы хотите соединить их вместе, вы должны сделать это:
$a = "text1";
$b = "text2";
echo ($a . $b); // prints "text1text2"
Или в вашем случае так:
echo "text1" . function() . "text3"; // prints text1text2text3
И если вы используете функцию, подобную строке, вы нене использовать ";"символ в конце, потому что он завершит всю строку кода.
echo "text1" . "text2"; . "text3"; // wrong
echo "text1" . "text2" . "text3"; // correct
echo "text1" . function(); . "text3"; // wrong
echo "text1" . function() . "text3"; // correct
Итак, просто добавьте точки и удалите точку с запятой, и это должно работать.
echo '<div class="excerpt">' . '<a href="' . the_permalink() . '">' . nectar_excerpt($excerpt_length) . '</a></div>';?>