Faits :
A.
Par jugement du 27 août 2019, le Tribunal de police de l'arrondissement de la Broye et du Nord vaudois a notamment libéré B._ des chefs de prévention de diffamation et de faux dans les titres, a mis une partie des frais de procédure à sa charge et a fixé l'indemnité due à son défenseur d'office, l'avocat A._.
B.
B._ a, par l'intermédiaire de son défenseur d'office, formé appel contre ce jugement, en concluant notamment à ce que les frais de la procédure de première instance ne soient pas mis à sa charge.
Par avis du 17 décembre 2019, la direction de la procédure d'appel a indiqué que l'enjeu de la procédure - laquelle ne concernait plus que la question des frais - ne justifiait plus une défense d'office en faveur de B._, et qu'il était envisagé de relever l'avocat A._ de son mandat pour toute la procédure d'appel. Si B._ entendait se déterminer sur cette question, il lui appartenait de le faire dans un délai de 10 jours.
Dans ses déterminations du 20 décembre 2019, B._ s'est notamment opposée à la révocation du mandat de son défenseur d'office pour la procédure d'appel.
L'appel a été traité en procédure écrite.
Par jugement du 3 janvier 2020, la Cour d'appel pénale du Tribunal cantonal du canton de Vaud a rejeté l'appel de B._, et a révoqué le mandat de défenseur d'office de l'avocat A._ avec effet ex tunc, soit dès la notification du jugement de première instance.
Ce jugement a été notifié le 9 mars 2020 à l'avocat A._.
C.
A._ forme un recours en matière pénale au Tribunal fédéral contre le jugement du 3 janvier 2020, en concluant, avec suite de frais et dépens, principalement à sa réforme en ce sens que son mandat de défenseur d'office n'est pas révoqué pour la procédure d'appel et qu'une indemnité de 1'730 fr. 25 lui est allouée pour ladite procédure. Subsidiairement, il conclut à son annulation et au renvoi de la cause à l'autorité précédente pour nouvelle décision.
D.
Invités à se déterminer, la cour cantonale a en substance conclu au rejet du recours, tandis que le ministère public a renoncé à se déterminer. A._ a encore formulé des observations à cet égard.

Considérant en droit :
1.
La décision de révocation du mandat de défenseur d'office du recourant a été prise dans le cadre du jugement attaqué, lequel mettait fin à la procédure (cf. <ref-law>). Il s'agissait d'un jugement d'appel rendu dans une procédure pénale, de sorte que le recours en matière pénale est en principe ouvert (cf. <ref-law>).
Le présent recours portant sur la révocation du mandat de défenseur d'office, on ne se trouve pas dans un cas visé par l'<ref-law>.
Selon la jurisprudence, lorsque l'avocat a été désigné comme défenseur d'office, il bénéficie des prérogatives attachées à cette nomination, notamment d'un droit à une indemnisation. Partant, un intérêt juridique à l'annulation ou la modification de la décision révoquant son mandat d'office au sens de l'<ref-law> doit lui être reconnu (cf. <ref-ruling> consid. 5 p. 339 s.; arrêts 1B_120/2018 du 29 mai 2018 consid. 1.2; 1B_350/2017 du 1er novembre 2017 consid. 2 et les références citées, in SJ 2018 I 245 ss).
Au vu de ce qui précède, le recours est donc en principe recevable.
2.
Le recourant se plaint d'une violation de l'<ref-law>, en soutenant que les conditions de la défense d'office - au sens de l'<ref-law> - étaient toujours remplies au stade de la procédure d'appel.
Il se plaint par ailleurs d'une violation du principe de la bonne foi et de l'interdiction de l'arbitraire, en dénonçant le caractère rétroactif de la décision de révocation de son mandat.
En l'espèce, point n'est besoin d'examiner si les conditions d'une défense d'office étaient ou non encore remplies au stade de l'appel, en raison de ce qui suit.
2.1. La cour cantonale a exposé que, dès lors que B._ ne contestait plus que la mise à sa charge d'une partie des frais de procédure au stade de l'appel, l'enjeu demeurait purement financier. Selon elle, la seconde condition de l'<ref-law> n'était plus remplie.
Pour l'autorité précédente, B._, qui ne contestait plus que la mise à sa charge de frais de procédure au stade de l'appel, pouvait, à réception du jugement de première instance, d'emblée réaliser que l'assistance d'un défenseur d'office ne se justifiait plus. Il convenait donc de révoquer le mandat de défenseur d'office du recourant avec effet ex tunc, soit dès la notification du jugement de première instance, ce qui excluait toute indemnisation de l'intéressé pour des opérations accomplies dans le cadre de la procédure d'appel.
2.2. Il apparaît que toutes les opérations pour lesquelles le recourant demande à être indemnisé - dont la dernière remonte au 20 décembre 2019 - ont été accomplies antérieurement au jugement attaqué, par lequel celui-ci a appris la révocation de son mandat de défenseur d'office. La question qui se pose en l'espèce est donc uniquement celle de savoir si la révocation du mandat de défenseur d'office pouvait déployer des effets rétroactifs, ou si elle ne pouvait produire ses effets qu'à partir de sa notification.
2.3. Il n'est pas contesté que le mandat de défenseur d'office du recourant a perduré au cours de la procédure d'appel, puisque la direction de la procédure a, dans son avis du 17 décembre 2019, indiqué qu'elle envisageait une révocation.
Selon la jurisprudence, l'avocat d'office n'exerce pas un mandat privé, mais accomplit une tâche étatique soumise au droit public cantonal, qui lui confère une prétention de droit public à être rémunéré (<ref-ruling> consid. 3.2 p. 345 s.). La défense d'office doit être ordonnée (cf. <ref-law>), respectivement révoquée (cf. <ref-law>), par la direction de la procédure. Une décision doit en tous les cas être prise à cet égard.
En principe, une décision ne déploie ses effets juridiques en vue desquels elle a été rendue seulement avec sa notification. Le destinataire de la décision ne peut en effet être tenu par une décision que s'il en a connaissance. Tel est le cas concernant la révocation d'un mandat de défense d'office (cf. arrêt 6B_1237/2019 du 3 juillet 2020 consid. 4.3 et les références citées).
Le raisonnement de la cour cantonale ne saurait modifier ce principe. En effet, il n'appartient pas au prévenu de se demander à quel moment de la procédure la défense d'office dont il bénéficie pourrait cesser, cela en dehors de toute intervention de l'autorité. On ne saurait par ailleurs faire porter sur le défenseur d'office la responsabilité de renoncer - alors même qu'il assume une mission en faveur du prévenu - à défendre les intérêts de ce dernier en anticipant une éventuelle décision de révocation à venir et au risque de léser les intérêts de l'intéressé. Enfin, il n'est pas davantage admissible que le défenseur d'office supporte le risque, après avoir assuré un travail dans le cadre de sa mission, de ne pas être rémunéré par l'Etat en raison de l'appréciation portée postérieurement par l'autorité pénale sur les conditions de l'<ref-law>.
2.4. Dans la mesure où la décision de révocation du mandat n'a été notifiée au recourant que le 9 mars 2020, celle-ci n'a pu déployer ses effets juridiques que dès cette date. La défense d'office doit donc couvrir les opérations effectuées jusqu'à ce terme, soit en principe toutes celles que fait valoir le recourant. Le recours doit être admis, le jugement attaqué annulé et la cause renvoyée à l'autorité cantonale pour nouvelle décision sur ce point.
La question de l'indemnisation du recourant (cf. <ref-law>) n'ayant pas été traitée dans le jugement attaqué ni par le Tribunal fédéral, l'autorité cantonale sera libre d'examiner si et dans quelle mesure les différentes opérations annoncées par l'intéressé doivent concrètement donner lieu à indemnisation (cf. sur ce point l'arrêt 6B_866/2019 du 12 septembre 2019 consid. 3.1 et les références citées).
A cet égard, l'argument avancé par la cour cantonale dans ses déterminations, selon lequel la demande d'indemnisation présentée par le recourant serait constitutive d'un abus de droit (cf. <ref-law>) car ce dernier aurait dû - dès la notification du jugement de première instance - réaliser qu'une défense d'office n'était plus justifiée, peut d'emblée être écarté. En effet, l'abus de droit consiste à utiliser une institution juridique à des fins étrangères au but même de la disposition légale qui la consacre, de telle sorte que l'écart entre le droit exercé et l'intérêt qu'il est censé protéger soit manifeste (<ref-ruling> consid. 2.2 p. 74; <ref-ruling> consid. 1b p. 81). L'abus de droit ne doit être admis qu'avec beaucoup de retenue (cf. arrêt 6B_739/2017 du 9 février 2018 consid. 3). Dès lors que le recourant avait été désigné en qualité de défenseur d'office et que son mandat perdurait, le fait même de défendre les intérêts de B._ et de réclamer une indemnisation à ce titre n'apparaissait pas, par principe, contraire à l'institution de la défense d'office.
3.
Le recours doit être admis. Le recourant, qui obtient gain de cause, ne supporte pas de frais judiciaires (<ref-law>). Il peut prétendre à des dépens, à la charge du canton de Vaud (<ref-law>).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est admis, le jugement attaqué est annulé et la cause est renvoyée à l'autorité cantonale pour nouvelle décision.
2.
Il n'est pas perçu de frais judiciaires.
3.
Le canton de Vaud versera au recourant une indemnité de 3'000 fr. pour ses dépens dans la procédure devant le Tribunal fédéral.
4.
Le présent arrêt est communiqué aux parties et à la Cour d'appel pénale du Tribunal cantonal du canton de Vaud.
Lausanne, le 4 septembre 2020
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président : Denys
Le Greffier : Graa